Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在浏览器中访问其他选项卡的内容_Javascript_Firefox_Dom_Tabs - Fatal编程技术网

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

Javascript 在浏览器中访问其他选项卡的内容,javascript,firefox,dom,tabs,Javascript,Firefox,Dom,Tabs,我使用的是Mozilla Firefox,我正试图找到一种方法,使用JavaScript和DOM访问同一窗口中其他选项卡的内容(如果存在其他技术,我愿意使用) 例如我想在tab1中运行一个JavaScript,它可以找到其他选项卡的标题。基本上,我需要它,这样我就可以在当前页面中识别由于href而打开的选项卡,而无需使用窗口。open方法。我想要的只是一个简单的超链接,它可以打开一个与当前页面属于同一域的页面(该页面应该在新选项卡中打开)。现在,我希望能够从当前选项卡访问此新选项卡。您可以使用…

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

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

您可以使用……但这是一种前沿


即使在这种情况下,您也可能需要使用javascript劫持标记“click”事件,并自己打开窗口,这样您就可以访问新的窗口对象来发布消息。

虽然您可以使用javascript轻松打开新窗口,但我相信这已经够了。从安全角度来看,您不希望一个选项卡中的Javascript能够在另一个选项卡中查询/访问DOM。如果两个站点在单独的选项卡中打开,则任何站点都可以访问您的银行帐户详细信息等。

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

您可以像这样打开窗口/选项卡

var win = window.open("/path_to_page");
然后,您必须等待页面加载,然后才能访问例如标题

win.onload = function(){ alert(win.document.title); };
瓦米普

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


这对我很有效。

是的……我知道。但是,正如我前面提到的,新的选项卡/窗口将属于同一个域,因此我不可能从我自己的网站“窃取”银行帐户详细信息。无论如何,感谢你们的及时回复,伙计们…但需要找到一个解决办法谢谢你,通过跟踪服务器端打开的标签,你能创造出类似的效果吗?例如,假设您有意将某些链接编码为在新选项卡中打开,则您知道用户打开了两个选项卡。此外,如果您让客户端js(ajax)每隔几秒钟从两个选项卡“签入”,那么选项卡间的通信可以通过服务器中继。例如,可能选项卡1正在编辑“Zoo”对象,并将其名称从“Boston”更改为“Denver”。表2是“波士顿动物园动物”,您可以在这里更改动物园中的动物。选项卡2通过ajax更新更新为“Denver Zoo Animals”。只需确保两个页面的来源相同,否则会出现以下错误:
阻止来源为“http://x”的帧访问来源为“http://y”的帧。协议、域和端口必须匹配。
看起来我们在过去六年里向前迈出了很多步:)@Loupax,只要你是。或者你可以使用localStorage;但是Cookie对老浏览器的影响更大。