Есть js библиотека для запуска js только в одной вкладке?
Ситуация: есть js код, который слушает события по websocket'ам при открытии странички. При открытии дополнительной вкладки с этой же страничкой приведет к тому, что будет открыто еще одно websocket соединение, а это лишнее, т.к. при событии, приходящему по websocket'у, показываются уведомления, т.е. будет задваивание.
Есть ли js библиотека, которая отслеживает, что есть открытая страничка во вкладке? И выполняет код, если нет другой вкладки или та вкладка закрывается?
Ох, ну если у вас сайтик для себя, то вполне пойдет, если настоящий проект и хайлоуд, то это никуда не годиться. Самый простой вариант SharedWorker, самый работающий BNC Connector.
Ну, частично работает, если конечно alert'ы не вызывать в первом табе, а то все таймауты встают колом, и другой таб радостно начинает работать. Да, надо на sharedWorker переделать. Не хайлоад, маленький уютный home bussiness.
То, что вы написали не будет работать в реальности, вот я к тому, что localStorage крайне кривой, косой и отвратительный механизм для этой задачи, чего стоит его абсолютная не синхронность при восстановление вкладок. Так что если вам подходит (барузеры) SharedWorker, переходит на него.