【发布时间】:2013-11-02 15:28:43
【问题描述】:
如何使用 javascript 唯一标识当前为所有主要浏览器打开的每个单独的浏览器窗口?让我解释一下我需要知道的内容,让我们考虑以下场景:
我有 3 个当前打开的浏览器窗口 [任何现代浏览器,即 Chrome、Firefox 等],每个窗口都包含多个选项卡。
- 窗口 #1:3 个选项卡 [选项卡 A、选项卡 B 和选项卡 C]
- 窗口 #2:2 个选项卡 [Tab D 和 Tab E]
- 窗口 #3:4 个选项卡 [Tab F、Tab G、Tab H 和 Tab I]
如何唯一标识每个浏览器窗口 [即为每个浏览器窗口捕获唯一的 ID/值,而不是选项卡的窗口]?所以,最后我将有 3 个 ID [所有窗口],而不是 9 个 ID [所有选项卡]。我可以通过创建使用 jQuery [crossrider] 的浏览器插件或扩展来识别窗口中的所有选项卡,但找不到唯一识别每个窗口的方法。
这可以通过 JavaScript/JQuery 实现吗?如果是这样,怎么做?如果不是,为什么?
我在 javascript 中尝试了“window.name”,但这给了我 9 个 ID,而不是 3 个 ID。
【问题讨论】:
-
我不太清楚你为什么要识别窗口,用例是什么?现代浏览器通常将选项卡视为窗口(过去是“许多打开的窗口”现在是“许多打开的选项卡”)并将它们实现为单独的进程。所以真的,你只需要标签标识,从你的 cmets 中,我可以看到你已经设法获得。 [免责声明] 我是 Crossrider 的员工
-
感谢您的帮助。我想在用户单击按钮时将用户的浏览会话 [当前打开的窗口和选项卡] 保存到云/服务器,以便用户可以离开/关闭他/她的浏览器/计算机,再次返回并开始浏览他/她的位置离开了。例如,当 Chrome 崩溃时,它会记住用户的最后一次会话,并按照崩溃前的打开方式重新打开所有窗口和选项卡,这样用户就不必再次重新打开它们。在这种情况下,我不想在 1 个窗口中保存/打开 9 个选项卡,而是在窗口 #1 中保存/打开 3 个选项卡,在窗口 #2 中保存/打开 2 个选项卡,在窗口 #3 中保存/打开 4 个选项卡。
-
有很多扩展/插件的场景窗口跟踪非常重要,我认为Crossrider应该更新它的API以支持浏览器窗口识别
-
我喜欢 crossrider,因为它确实简化了开发人员的开发工作。有没有办法我也可以帮助创建一些 crossrider 插件[类似于人们之前创建 jQuery 插件的方式]?为 crossrider 创建插件的方法是什么?这样,任何开发人员都可以创建一个插件来扩展 crossrider API 以满足他/她的独特项目需求。
-
有谁知道你是否可以通过使用纯 javascript 或 jQuery 来做到这一点?
标签: javascript jquery browser window crossrider