Safari拡張機能を作成しています。新しいタブ/ウィンドウを選択した URL に手動で設定するにはどうすればよいですか? この投稿のいくつかのロジックを使用して、ユーザーが作成したタブ/ウィンドウのSafari 拡張機能のみを引き継いでいることを確認しました: 完全に新しいタブのイベント?
新しいタブ イベント リスナーをセットアップします。
safari.application.addEventListener("open", handleOpen, true);
これを使用して、開いているタブ/ウィンドウを処理します。
function handleOpen(e) {
if (e.target instanceof SafariBrowserTab) {
e.target.addEventListener('beforeNavigate', handleBeforeNavigate, false);
setTimeout(function () {
e.target.removeEventListener('beforeNavigate', handleBeforeNavigate, false);
takeOverTab();
}, 50);
}
}
function handleBeforeNavigate(e) {
e.target.removeEventListener('beforeNavigate', handleBeforeNavigate, false);
if (e.url === null) {
takeOverTab();
}
}
function takeOverTab() {
window.location.href = "http://www.yahoo.com";
}
新しいタブ/ウィンドウが開いたときにアラートを出すことはできますが、実際に URL を参照する方法を理解することはできません。window.location.href を試しましたが、何もしないようです。新しいタブを開くと、「トップ サイト」ページが表示されます。
前もって感謝します!