google-chrome-extension - Popup.html 未在 Chrome 扩展中打开

标签 google-chrome-extension manifest

当我单击扩展按钮时,popup.html 文件没有打开。 chrome 扩展还通过 main.html 文件更改了 newTab。但是弹出窗口没有显示,“检查弹出窗口”按钮也没有显示。为什么会这样?

list .json:

{
  "name": "Name",
  "description": "Add description",
  "version": "0.1.9.2",
  "browser_action": {
    "default_icon": "icon.png",
   "default_popup": "popup.html"
 },
  "permissions": [
    "activeTab"
  ],
  "chrome_url_overrides" : {
    "newtab": "main.html"
  },
  "background": {
    "scripts": ["jquery-2.2.3.min.js", "background.js"],
    "persistent": false
  },
  "icons": { "16": "icon16.png",
            "24": "icon24.png",
              "32": "icon32.png",
           "48": "icon48.png",
           "64": "icon64.png",
          "128": "icon128.png",
          "256": "icon256.png",
          "512": "icon512.png"
         },

  "permissions": [
    "activeTab",
    "https://ajax.googleapis.com/",
    "storage",
    "tabs",
    "http://*/*",
    "https://*/*"
  ],
  "browser_action": {
    "default_title": "app"
  },
  "manifest_version": 2
}

Popup.html:

<!doctype html>
  <html>
   <head>
    <style type="text/css">
        body {
            width: 200px;
            height: 200px;
        }
    </style>
   </head>
   <body>
    TEXT TEXT TEXT
   </body>
  </html>

最佳答案

您的 list 中有 2 个 browser_action 部分:

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },

  ...

  "browser_action": {
    "default_title": "app"
  },

解析 list 时,这不是语法错误*,而是第二个错误覆盖了第一个错误。所以你不再有 default_popup

您应该将它们合并为一个键:

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html",
    "default_title": "app"
  },

* 从技术上讲,JSON standard 不会禁止重复键:应该但不是必须没有重复的键;因此,implementation-dependent .

关于google-chrome-extension - Popup.html 未在 Chrome 扩展中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46492232/

相关文章:

javascript - 添加时出现 Chrome 扩展本地化问题 - 说我没有指定默认语言环境,即使我指定了

javascript - 自定义build设置所需的 webpack vue.js 热重载配置

javascript - chrome.tabs.executeScript 并仅注入(inject)到通过 manifest.json 中的匹配过滤器的页面

javascript - 我怎样才能在 chrome 扩展弹出窗口中嵌入网站

android - 使用 android :enabled ="@bool/tablet" or "@bool/phone" supported? 在 list 中有选择地启用 Activity 别名

winapi - 应用 list 模式

javascript - 如何防止在我的 Chrome 扩展程序中放大弹出窗口

javascript - 在没有弹出窗口的情况下将 onClicked 处理程序添加到浏览器操作?

c++ - 如何通过 C++ 可执行文件中的 list 启用 "Long Path Aware"行为?

android - 找到重复的类 com.google.android.gms.location.places.zza