私は Safari 拡張機能を作成しています。メイン ツールバーにポップオーバーを開くボタンが必要でした。
しかし、問題は次のとおりです。1) ポップオーバーから現在のタブの URL にアクセスする方法は? 2) ポップオーバーを開いたときにのみ読み込む方法は?
これは古い質問です。
でも最近やりたくなった。次のようにして、popover.html 内からタブの URL にアクセスできます。
var url= safari.application.activeBrowserWindow.activeTab.url;
1) 挿入されたスクリプト (window.location.href) から現在のタブの URL にアクセスし、挿入されたスクリプト メッセージに送信し、URL を取得してコールバックをポップオーバーに送信するだけです。
2)ツールバーボタンをクリックすると、ポップオーバーを動的に作成する必要があります。次に、ポップオーバーをツールバー項目に割り当てます。そして見せて
myPop = safari.extension.createPopover("myPopoverID", safari.extension.baseURI + "myFile.html", width, height);
myToolbarItem.popover=myPop;
myToolbarItem.showPopover();
ポップオーバーを使用したすべてのアクションの後、割り当てを解除する必要があります。
ポップオーバーの可視性を確認し、ツールバー項目に null を割り当て、ポップオーバーを削除します
if(myPop.visible == false){
myToolbarItem.popover = null;
safari.extension.removePopover(myPop.identifier);
}