访问浏览器中其他选项卡的内容

vam*_*yip 16 javascript firefox tabs dom

我正在使用Mozilla Firefox,我正试图找到一种方法来使用JavaScript和DOM访问同一窗口中其他选项卡的内容(如果存在,我会接受其他技术).

例如,我想运行一个JavaScript,在tab1其中可以找到其他选项卡的标题.基本上我需要这个,以便我可以识别一个href在我当前页面中打开而没有使用window.open方法的选项卡.我想要的只是一个简单的超级链接,它打开一个属于与当前页面相同的域的页面(该页面应该在新的选项卡中打开).现在,我希望能够从当前选项卡访问此新选项卡.

Pau*_*eld 15

虽然您可以使用javascript轻松打开一个新窗口,但我确信这是最直接的.从安全角度来看,您不希望一个选项卡中的Javascript能够在另一个选项卡中查询/访问DOM.如果两个网站都在单独的标签页中打开,那么任何网站都可以访问您的银行帐户详细信息等.

  • 对,我知道.但是,正如我之前提到的,新标签/窗口将属于同一个域,因此我不会从我自己的网站"窃取"银行帐户详细信息.无论如何,谢谢你的快速回复人...但需要找到一个解决方法.- 再次感谢 (7认同)

sje*_*397 10

您可以使用HTML5跨窗口消息传递 ......但这有点前沿.

即使在这种情况下,您可能需要使用javascript劫持标记"click"事件并自行打开窗口,以便您可以访问新窗口对象以发布消息.

  • 看起来我们在过去六年中向前迈出了很多步:):http://caniuse.com/#feat=x-doc-messaging (4认同)

Sha*_*ane 9

Vamyip,

尝试设置可访问同一域中任何页面的cookie.在其他页面上,使用javascript计时器检查cookie值是否已更改,何时更改,您可以使用其值并执行操作.

它对我有用.


小智 8

如果使用JavaScript打开并且页面确实位于同一域中,则可以访问新窗口/选项卡.

你可以像这样打开窗口/标签

var win = window.open("/path_to_page");
Run Code Online (Sandbox Code Playgroud)

然后你必须等待页面加载才能访问例如标题.

win.onload = function(){ alert(win.document.title); };
Run Code Online (Sandbox Code Playgroud)