/如何使用javascript在safari浏览器中获取活动的Tab url

时间:2012-08-26 12:21:01

标签: javascript url safari-extension

如何在Safari浏览器中使用java脚本获取浏览器窗口或活动标签页?

我尝试使用 - >

进行操作

document.url

window.location.href

但这两种解决方案都给了我很多网址。我不知道为什么?

我也搜索过safari.application.browserWindow.activeTab给出了当前活动窗口的obj。但我不知道activeTab类提供了哪些方法

如果有人知道,请帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果您只想要当前标签中“顶部”文档的网址,则可以使用

safari.application.activeBrowserWindow.activeTab.url

来自您分机的全局页面。

这里给出了SafariBrowserTab类的属性和方法:https://developer.apple.com/library/safari/#documentation/UserExperience/Reference/SBrowserTabClassReference/SafariBrowserTab.html#//apple_ref/doc/uid/TP40009793

我从您的问题中推断出您的扩展程序正在使用注入的脚本,该脚本会将运行它的页面的URL报告给全局页面。您的全局页面正在接收多个URL,因为注入的脚本不仅在选项卡的“顶部”文档中运行,而且还在其中的每个iframed文档中运行。

如果要阻止注入的脚本在iframe内运行,请将代码包装在如下语句中:

if (window == window.top) {
    // do stuff
}