Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Safari popover是否可以访问页面url?_Url_Safari_Popover - Fatal编程技术网

Safari popover是否可以访问页面url?

Safari popover是否可以访问页面url?,url,safari,popover,Url,Safari,Popover,我正在构建一个Safari扩展,我想在主工具栏上有一个按钮,打开一个弹出窗口 但问题是: 1如何从弹出窗口访问当前选项卡URL? 2如何仅在我打开popover时加载它?1您可以从injected scripts window.location.href访问当前选项卡url,只需发送到injected script消息,获取url并向popover发送回调 2您必须在单击工具栏按钮时动态创建popover。然后将弹出框指定给工具栏项。并展示它 myPop = safari.extension.c

我正在构建一个Safari扩展,我想在主工具栏上有一个按钮,打开一个弹出窗口

但问题是: 1如何从弹出窗口访问当前选项卡URL?
2如何仅在我打开popover时加载它?

1您可以从injected scripts window.location.href访问当前选项卡url,只需发送到injected script消息,获取url并向popover发送回调

2您必须在单击工具栏按钮时动态创建popover。然后将弹出框指定给工具栏项。并展示它

myPop = safari.extension.createPopover("myPopoverID", safari.extension.baseURI + "myFile.html", width, height);
myToolbarItem.popover=myPop;
myToolbarItem.showPopover();
使用popover执行所有操作后,必须取消分配它

检查popover的可见性,为工具栏项指定null并删除popover

if(myPop.visible == false){
   myToolbarItem.popover = null;
   safari.extension.removePopover(myPop.identifier);
}

这是一个老问题

但我最近想这么做。您可以通过以下方式从popover.html内部访问选项卡url:

var url= safari.application.activeBrowserWindow.activeTab.url;