4

浏览器如何处理多个标签页?它们是完全独立的实体,没有交互是可能的吗?我了解浏览器的沙盒概念和其他安全问题,但网页是否可以与浏览器中的另一个选项卡进行交互?

基本上我的问题是:如果用户在新选项卡中加载一个网页,是否有某种方法可以访问已打开或之后打开的其他选项卡的信息?

我有一个应用程序的概念,它需要了解在我的概念网页之后已经打开或打开的另一个选项卡,但我不知道这是否可能。

4

5 回答 5

4

据我所知,这是不可能的。浏览器不允许您在常规环境中操作浏览器的底层功能。它会忽略它或显示出现安全错误。

于 2013-08-14T17:01:36.510 回答
1

我认为没有办法做到这一点,除非编写两个文档以相互通信(就像在vBulletin新窗口中一样)。访问选项卡的唯一方法是为浏览器编写附加组件。

于 2013-08-14T17:02:45.073 回答
1

无法访问客户端上的其他选项卡。

但是,我可以想象一个可以在服务器端完成的场景。让用户在两个选项卡上登录到您的站点,并使用诸如套接字之类的东西将数据从一个选项卡来回传递到另一个选项卡,并使用服务器作为中间人。

于 2013-08-14T17:02:51.983 回答
1

如果两个页面来自同一个域,您可以使用 cookie 或在 HTML5 中使用本地存储。

于 2013-08-14T17:06:24.743 回答
1

如果你拥有其他标签,你可以广播到其他标签,其他标签可以广播回你的标签,在它们之间创建一个实用的沟通渠道。

这称为窗口间消息传递,它使用LocalStorage.


要简单地检查您是否是活动选项卡,请使用$(window).blur( ... )或使用您选择的库的类似技术。

于 2013-08-14T17:08:45.960 回答