有没有办法通过在新标签页或窗口中加载扩展程序代码,在新标签/窗口中运行/执行Chrome扩展程序?
现在,我知道从我的Chrome扩展程序获得“免费托管”的唯一方法是使用弹出窗口作为我的主应用程序窗口。这样可以正常工作,但是如果单击其他选项卡,弹出窗口将关闭。所以我认为我需要一个不同类型的窗口作为我的主应用程序窗口。
我唯一的猜测是,你可以将新标签的window.location设置为chrome://extensions/<my-extension-id>
,但这似乎不起作用。
任何人都可以减轻我的困惑吗?如何为不是弹出式应用程序但不是本机应用程序的Chrome应用程序创建运行时,并且不是由Google服务器以外的某些Web服务器托管的?
我想到的一件事是这样的:https://gist.github.com/danharper/8364399
比你需要的更难的神圣废话。
所以你最终得到这样的网址:
chrome-extension://<your-extension-id>/dist/index.html
要以编程方式加载新选项卡或窗口,请在后台脚本中使用此代码:
chrome.tabs.create({url: chrome.extension.getURL('dist/index.html')});
在我的情况下,我的应用页面位于dist / index.html,而我的弹出页面将位于popup.html。
所以弹出窗口看起来像这样:
x Load extension in new window
x Load extension in new tab
用户选择其中一个,background.js脚本可以调用上面的代码来加载页面,这将从你想要的扩展代码库中加载html文件。