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

问题描述 投票:0回答:5

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

例如,我想在

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

javascript firefox dom tabs
5个回答
17
投票

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


12
投票

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

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

var win = window.open("/path_to_page");

然后您必须等待页面加载才能访问,例如标题。

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

11
投票

您可以使用 HTML5 跨窗口消息传递(archive.org 链接...但这是一种前沿技术。

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


10
投票

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

它对我有用。


-1
投票

嗯,这是不可能的,你可以尝试一下

<a target="_blank" rel="opener" href="about:blank"></a>

这会创建一个打开 about:blank 的链接,由于 Same-Origen-policy,这将与打开它的页面具有相同的域。

© www.soinside.com 2019 - 2024. All rights reserved.