首页 > 解决方案 > Chrome 扩展 - 在 Window 和/或 iFrame 中启动

问题描述

据我了解,如果它是系统页面,则不可能使用 iFrame 注入打开的选项卡。以此作为参考,我将扩展打开为 iFrame 但是,如果选项卡不可注入,我希望扩展程序作为弹出窗口打开(这似乎是大多数扩展程序的默认行为) 。

我认为这是一个我可以在文件中调用的函数,而不是向Docsbackground.js发送消息content-script.js但我找不到任何相关的文档。

chrome.browserAction.onClicked.addListener(function(){
chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
    chrome.tabs.sendMessage(tabs[0].id,"toggle");
})});

SimilarWeb 做了一个很好的例子。- 当只有一个空白选项卡时单击 SimilarWeb:

当只有一个空白选项卡时单击 SimilarWeb

- 在选项卡中加载网站的情况下单击 SimilarWeb:

在此处输入图像描述

这种工作,但每次打开浏览器时只有一次background.js-

chrome.browserAction.onClicked.addListener(function () {
  chrome.tabs.query({active: true, currentWindow: true}, function (tabs) {
    if (tabs[0].url.includes("chrome://")) {
      chrome.browserAction.setPopup({popup: "index.html"});
    } else {
      chrome.tabs.sendMessage(tabs[0].id, "toggle");
    }
  })
});

标签: javascriptgoogle-chrome-extension

解决方案


推荐阅读