On 1/29/10 12:22 AM, Jared Morse wrote:
Perhaps I am mistaken, but I believe you would still have to go around
and add that trigger to all the places the value is changed from.

Well you could do something like
Storage.prototype.setItemAndNotify =
  function (key, data) {
    this.setItem(key, data);
    var e = document.createEvent("StorageEvent");
    e.initStorageEvent(...);
    window.dispatchEvent(e);
  }

and use that when you set some item.
Or just replace setItem method using prototype.

That way you get the behavior you want, but still allow the
other behavior.


-Olli



-J

On Thu, Jan 28, 2010 at 2:06 PM, Olli Pettay <olli.pet...@helsinki.fi
<mailto:olli.pet...@helsinki.fi>> wrote:

    On 1/28/10 11:57 PM, Jared Morse wrote:

        Even though it occurs on the same document, doesn't mean loosely
        coupled
        code can't benefit from it.

        Imagine if each time you added a feature to a web app that
        depended on
        knowing a current value from the storage, you'd have to go
        around to all
        the places that value is changed and add some code to alert your new
        code.  If storage events triggered on the same document, all you
        would
        have to do is set a listener.


    If you really need this behavior, you can always dispatch your own event
    to the window when you change the data.


    -Olli



        -J

        On Thu, Jan 28, 2010 at 1:41 PM, Olli Pettay
        <olli.pet...@helsinki.fi <mailto:olli.pet...@helsinki.fi>
        <mailto:olli.pet...@helsinki.fi
        <mailto:olli.pet...@helsinki.fi>>> wrote:

            On 1/28/10 9:34 PM, Jared Morse wrote:

                Hi, I have a concern about the web storage event spec
                (http://dev.w3.org/html5/webstorage/).

                The spec states:
        "When the setItem(), removeItem(), and clear()  methods are
                called on a
                Storage object x that is associated with a local storage
        area,
                if the
                methods did something, then in every HTMLDocument object
        whose
                Window
                object's localStorage attribute's Storage object is
        associated
                with the
                same storage area, other than x, a storage event must be
        fired..."

                My concern lies with the "other than x" part.  Unless
        I'm missing
                something, these events would be even more useful if
        they also
                fired in
                the HTMLDocument that initially made the storage call.


            The page which is changing storage object knows already that the
            storage object is being changed. Why would it need explicit
            notification (event) about that?


            -Olli





                Thanks for your time.

                -Jared







Reply via email to