---
title: "Comment by Philip Birk-Jensen on \"How I turned Local Storage into a Web Socket\" | Hashnode"
description: "Love the approach, I didn&#39;t know about the StorageEvent, so I dived in (maybe to deep). Looking into it, it seems this is exactly the intended use of the St"
url: "https://hashnode.com/posts/how-i-turned-local-storage-into-a-web-socket/64e1fc853f63dc4e93a101c4/comment/64e46076b455f3cce04d097a"
---

[Discussion](https://hashnode.com/posts/how-i-turned-local-storage-into-a-web-socket/64e1fc853f63dc4e93a101c4)

Comment [How I turned Local Storage into a Web Socket](https://hashnode.com/posts/how-i-turned-local-storage-into-a-web-socket/64e1fc853f63dc4e93a101c4)

[Philip Birk-Jensen](https://hashnode.com/@BirkAndMe)

[Aug 22, 2023](https://hashnode.com/posts/how-i-turned-local-storage-into-a-web-socket/64e1fc853f63dc4e93a101c4/comment/64e46076b455f3cce04d097a)

Love the approach, I didn't know about the StorageEvent, so I dived in (maybe to deep).

Looking into it, it seems this is exactly the intended use of the StorageEvent ([developer.mozilla.org/en-US/docs/Web/API/Window/s…](https://developer.mozilla.org/en-US/docs/Web/API/Window/storage_event#specifications:) "it is really a way for other pages on the domain using the storage to sync any changes that are made").

\--

A peculiar thing is this only works for the localStorage, even though it should work for both local and session ([html.spec.whatwg.org/multipage/indices.html](https://html.spec.whatwg.org/multipage/indices.html#event-storage)).

The reason for this seems to be a catch-22, looking at the rules for the event: [html.spec.whatwg.org/multipage/webstorage.html](https://html.spec.whatwg.org/multipage/webstorage.html#storage-2:) "Dispatches a storage event on Window objects holding an equivalent Storage object". meaning it only fires on other windows (tabs), and not the instance making the changes.

The sessionStorage has a different instance for each open window ([html.spec.whatwg.org/multipage/webstorage.html](https://html.spec.whatwg.org/multipage/webstorage.html#introduction-15:) "If the user had multiple windows opened on the site, each one would have its own individual copy of the session storage object.").

So even if the event is fired on the sessionStorage, that exact instance isn't available in any other window, so there's no instance to dispatch to. I have not looked into any actual implementation here, so I don't know exactly what happens behind the curtain.

\--

Sorry for hijacking the comments, I just found it funny reading through the specs, and thought maybe others would appreciate the trivia.

Thanks for a great post!

[Alem Tuzlak](https://hashnode.com/@Alle00)

[Aug 22, 2023](https://hashnode.com/posts/how-i-turned-local-storage-into-a-web-socket/64e1fc853f63dc4e93a101c4/comment/64e46076b455f3cce04d097a#reply-64e4621ab455f3cce04d09d3)

This is spot on, I dived the same amount but decided to keep it out of the article. Plus the issue with sessionStorage (even if it worked like local) is that the data isn't persisted and most of the data i listen to needs to be! I'm glad you enjoyed the article!
