javascript - 单击扩展图标时打开 popup.html

标签 javascript google-chrome-extension

我今天开始学习 javascript,我正在尝试做一个 google chrome 扩展。当我单击扩展程序图标时,我想打开一个包含主 html (popup.html) 的新选项卡。

我在这方面遇到了麻烦,因为我对其进行了太多更改并不断弹出一百个新选项卡。

这是我的 list :

{
    "manifest_version": 2,
    "name": "Youtube Autoplay",
    "version": "0.1",
    "description": "Autoplay selected YouTube videos from my browser",
    "browser_action":{
        "default_title": "Youtube Autoplay",
        "default_icon": "icons/icon16.png",
        "default_popup": "popup.html"
    },
    "permissions": [
      "tabs"
    ],
    "background":{
      "scripts": ["popup.js"]
    }
}

这是我用来打开新选项卡的函数

chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}, function(tab) {
  // Tab opened.
});

我在这里找到了一些旧的遮阳篷,尝试了一些,但仍然遇到问题。

最佳答案

添加onClicked浏览器操作的监听器(扩展图标):

背景.js

chrome.browserAction.onClicked.addListener(functiont(tab){
  chrome.tabs.create({'url': chrome.extension.getURL('popup.html')},function(tab) {
  // Tab opened. 
 });
})

注意:

onClicked 监听器仅在扩展程序没有弹出窗口时运行。因此,从 manifest.json 中删除 "default_popup": "popup.html"。您还需要在 web_accessible_resources 下添加 popup.html "web_accessible_resources": ["popup.html"]

关于javascript - 单击扩展图标时打开 popup.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36995552/

相关文章:

javascript - 如何在不访问头部的情况下链接条件样式表

javascript - 将对象中的所有数组合并为一个数组。

javascript - 如何从 JW Player 获取媒体 url?

javascript - 从选项卡获取 HTML 内容

javascript - 在 nodejs SQLite3 .each() 方法中,如何添加多个参数以处理多个 "WHERE ... = ?"查询?

javascript - Google Cloud Functions 与客户实时通信

javascript - 使用 Javascript 设置高度很慢

javascript - 在循环中生成变量名称

javascript - 对于 Chrome 扩展,从 https 站点调用 http 站点时出现错误

javascript - 是否可以创建一个 Chrome 扩展程序来执行属于正在浏览的页面的 javascript 函数?