【发布时间】:2013-11-19 08:21:10
【问题描述】:
我正在尝试从我的 chrome 应用程序中打开常规浏览器选项卡。 我希望打开标签,无需在它们之间进行通信。 到目前为止,我已经尝试了以下两种创建和加载新标签的方法。
var a = document.createElement('a')
a.href = "https://example.com";
a.target = "_blank";
a.click();
var w = window.open(s.Url, "_blank");
w.focus();
再尝试一次,结果相同。这个被硬编码到 html 中,并由用户单击它来激活。所以问题与javascript本身无关,而与chrome处理外部链接的方式有关。
<a href="https://example.com/" target="_blank">Open external website</a>
但是,在这些创建的选项卡中,localStorage 为空。 显然,该选项卡在某些应用程序环境中仍处于打开状态。 如果我复制 URL 并将其粘贴到新选项卡中,则 localStorage 可用。
如何打开类似于用户复制/粘贴 url 的新浏览器选项卡。
更新 该应用程序是使用 window.open 从后台页面启动的,以创建选项卡而不是新窗口。如果使用了 chrome.app.window.create,链接会在浏览器中正确打开且 localStorage 可用。
【问题讨论】:
标签: javascript local-storage google-chrome-app