在新标签中加载/运行/执行Chrome扩展程序

时间:2018-01-01 09:46:28

标签: google-chrome-extension

是否可以通过在新标签页或窗口中加载扩展程序代码,在新标签/窗口中运行/执行Chrome扩展程序?

目前,我知道从我的Chrome扩展程序获得Google“免费托管”的唯一方法是使用弹出窗口作为我的主应用程序窗口。这样可以正常工作,但是如果单击其他选项卡,弹出窗口将关闭。所以我认为我需要一种不同类型的窗口作为我的主应用程序窗口。

我唯一的猜测是,你可以将新标签的window.location设置为chrome://extensions/<my-extension-id>,但似乎不起作用。

任何人都可以减轻我的困惑吗?如何为不是弹出窗口但不是本机应用程序的Chrome应用程序创建运行时,并且不是由Google服务器以外的某些Web服务器托管的?

我想到的一件事是这样的: https://gist.github.com/danharper/8364399

1 个答案:

答案 0 :(得分:0)

比你需要的更难的神圣废话。

所以你最终会得到这样的网址:

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文件。