浏览器如何处理多个标签?它们是完全独立的实体,无法进行交互吗?我了解浏览器的沙盒概念和其他安全问题,但网页是否可以与浏览器中的其他选项卡进行交互?
基本上我的问题是:如果用户在新标签中加载了一个网页,是否有某种方法可以访问已打开或将在之后打开的其他标签的信息?
我有一个应用程序的概念,需要知道在我的概念网页之后已经打开或打开的另一个选项卡,但我不知道这是否可行。
答案 0 :(得分:4)
据我所知,这是不可能的。浏览器不允许您在常规环境中操作浏览器的较低功能。它会忽略它或显示出现安全错误。
答案 1 :(得分:1)
我认为没有办法做到这一点,除非两个文档都是为了相互通信而写的(比如 vBulletin 新窗口)。访问选项卡的唯一方法是为浏览器编写附加组件。
答案 2 :(得分:1)
无法访问客户端的其他标签。
但是,我可以想象一下这可以在服务器端完成。让用户在两个选项卡上登录到您的站点,并使用类似套接字的东西,使用服务器作为中间人,将数据从一个选项卡来回传递到另一个选项卡。
答案 3 :(得分:1)
如果两个页面都来自同一个域,则可以使用cookie,或者在HTML5中使用本地存储。
答案 4 :(得分:1)
如果您拥有其他标签,则可以广播到其他标签,其他标签可以广播回到您的标签页,从而在它们之间创建实用的沟通渠道。< / p>
这称为Inter-window messaging,它使用LocalStorage
。
要简单地检查您是否为活动标签,请使用$(window).blur( ... )
或使用您选择的库的类似技术。