我正在构建一个 Safari 扩展,我想在主工具栏上有一个按钮,它会打开一个弹出窗口。
但问题是:1)如何从弹出窗口访问当前标签 URL?2)只有当我打开它时如何加载弹出框?
这是一个老问题。
但我最近想这样做。您可以使用以下命令从 popover.html 内部访问标签 url:
var url= safari.application.activeBrowserWindow.activeTab.url;
1)您可以从注入的脚本(window.location.href)访问当前选项卡的url,只需发送到注入的脚本消息,获取url并将回调发送到popover。
2)您必须在单击工具栏按钮上动态创建弹出框。然后将弹出框分配给工具栏项。并展示它
myPop = safari.extension.createPopover("myPopoverID", safari.extension.baseURI + "myFile.html", width, height);
myToolbarItem.popover=myPop;
myToolbarItem.showPopover();
在所有带有 popover 的操作之后,您必须解除分配它。
检查弹出框的可见性,将 null 分配给工具栏项并删除弹出框
if(myPop.visible == false){
myToolbarItem.popover = null;
safari.extension.removePopover(myPop.identifier);
}