在我的扩展中,我想在单击工具栏按钮(工作)时打开一个新选项卡,在选项卡(工作)上显示带有JavaScript的静态HTML页面,并将数据(从原始页面的URL)传递到新选项卡(不工作)。我试过了:
myTab.url = safari.extension.baseURI + 'page.html?' + params
这样的查询参数,但目标页面似乎没有分配位置(location.search
没有给出结果)。myTab.page.dispatchMessage("url", "someUrl");
,但消息永远不会到达新选项卡(我怀疑,它已经“通过”,当选项卡打开时)。有什么建议?
我在打开的页面中解析了document.URL以获取特定参数,它对我有用。例如。
function __onLoad()
{
var p = $.url(document.URL);
alert(p.param("url"));
}
错过消息的两个可能原因: