2

サファリブラウザでJavaスクリプトを使用してブラウザウィンドウまたはアクティブなタブのURLを取得するにはどうすればよいですか?

->を使ってやってみました

document.url

window.location.href

しかし、この両方のソリューションは私に非常に多くのURLを与えています。どうしてか分かりません ?

また、safari.application.browserWindow.activeTabが現在アクティブなウィンドウのobjを提供することを検索しました。しかし、activeTabクラスによってどのメソッドが提供されているのかわかりません

誰かが知っているなら、plzは私を助けます。前もって感謝します。

4

1 に答える 1

3

現在のタブの「トップ」ドキュメントのURLだけが必要な場合は、次を使用できます。

safari.application.activeBrowserWindow.activeTab.url

拡張機能のグローバルページ内から。

SafariBrowserTabクラスのプロパティとメソッドは次のとおりです。https ://developer.apple.com/library/safari/#documentation/UserExperience/Reference/SBrowserTabClassReference/SafariBrowserTab.html#//apple_ref/doc/uid/TP40009793

あなたの質問から、あなたの拡張機能は、それが実行されているページのURLをグローバルページに報告している挿入されたスクリプトを使用していると推測します。挿入されたスクリプトはタブの「トップ」ドキュメントだけでなく、その中のすべてのiframedドキュメントでも実行されているため、グローバルページは複数のURLを受信して​​います。

挿入されたスクリプトがiframe内で実行されないようにする場合は、次のようなステートメントでコードをラップします。

if (window == window.top) {
    // do stuff
}
于 2012-08-26T20:52:21.800 に答える