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

发布于 2024-09-08 11:50:50 字数 330 浏览 4 评论 0原文

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

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

I am using Mozilla Firefox and I am trying to figure out a way to access the content of other tabs in the same window using JavaScript and the DOM (I am open to other techniques if exist).

E.g., I want to run JavaScript code in tab1 which can find the title of some other tab. Basically I need this so that I can identify a tab which has opened due an href in my current page without using window.open method. All I want is a simple hyperlink which opens a page belonging to the same domain as the current page (the page should be opened in a new tab). Now I want to be able to access this new tab from the current tab.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

诗笺 2024-09-15 11:50:50

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

Whilst you can easily open a new window using JavaScript, I'm sure that is as far as it goes. From a security point of view you wouldn't want JavaScript in one tab being able to query / access the DOM in another tab. Any site would then be able to gain access to your bank account details, etc. if both sites were opened in separate tabs.

小忆控 2024-09-15 11:50:50

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

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

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

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

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

You can access the new window/tab if it was opened with JavaScript and the page indeed is in the same domain.

You can open the window/tab like so

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

Then you'll have to wait for the page to load before you can access e.g. the title.

win.onload = function(){ alert(win.document.title); };
今天小雨转甜 2024-09-15 11:50:50

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

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

You could use HTML5 cross-window messaging (archive.org link...but that's kind of cutting edge.

Even in that case, you'd probably need to hijack the <a> tag 'click' event with JavaScript and open the window yourself so that you'd have access to the new window object for posting messages.

手心的海 2024-09-15 11:50:50

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

这对我有用。

Try setting a cookie which is accessible to any page in the same domain. On other pages, use a JavaScript timer to check if the cookie value has changed and when it has you can use its value and take an action.

It worked for me.

晨曦慕雪 2024-09-15 11:50:50

好吧,这是不可能的,您可以尝试

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

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

Well, this would not be possible, you could try

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

This makes a link that opens an about:blank, this will have the same domain as the page that opened It because of the Same-Origen-policy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文