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

问题描述 投票:0回答:1

有没有办法通过在新标签页或窗口中加载扩展程序代码,在新标签/窗口中运行/执行Chrome扩展程序?

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

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

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

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

google-chrome-extension
1个回答
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文件。

© www.soinside.com 2019 - 2024. All rights reserved.