google-chrome-extension - Chrome扩展程序背景页面html不起作用

标签 google-chrome-extension

我正在尝试了解 chrome 背景页面。在对示例进行蚕食后,我设法让 background.js 脚本运行,并且每次用户访问页面时它都会弹出一个警告框。但是,当我采用相同的脚本并将其移动到 background.html 文件时,我似乎无法执行该文件。

我已将 list 文件更新为页面(而不是脚本),并且扩展加载正常。我也尝试过在脚本标签中直接在正文中或在函数中使用javascript,因为现在在正文或头部中调用onload。

也许我不明白在 Chrome 扩展中使用 background.html 页面的概念?

list 文件:

{
  "name": "Testing Extension",
  "version": "0.2",
  "background": { "pages": ["background.html"] },
  "permissions": [
    "tabs", "https://mail.google.com/*", "http://*/*, https://*/*"
  ],
  "browser_action": {
    "name": "Do some action",
    "icons": ["icon.png"]
  },
  "manifest_version": 2,
  "web_accessible_resources": ["injectImage.js", "background.html"]
}

注入(inject)图像.js
alert('Got Here');
'use strict';   
chrome.browserAction.onClicked.addListener(function (tab) {
    chrome.tabs.executeScript(null, {file: "injectImage.js"});
});

    chrome.browserAction.setBadgeBackgroundColor({color: [0, 200, 0, 100]});

    var i = 0;
    window.setInterval(function () {
        chrome.browserAction.setBadgeText({text: String(i)});
        i++;
    }, 10);

背景.html
<!DOCTYPE html>
<html>
    <head>
        <script src="jquery-1.8.0.min.js"></script>
        <script src="injectImage.js"></script>
    </head>
    <body>
</body>
</html>

目前,除了在右上角放一个图标外,此代码似乎没有做任何事情。

最佳答案

或者您可以直接定义 js 而不是定义后台页面并在其中引用脚本文件(根据内容安全策略 (CSP),不允许使用内联脚本)

  "background": {
    "scripts": ["background.js"]
  },

关于google-chrome-extension - Chrome扩展程序背景页面html不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11920473/

相关文章:

javascript - 如何在没有 html 的情况下将 jQuery 包含在我的 js 文件中

javascript - Chrome Extension/Javascript-检测 Chrome 浏览器中的用户语言

google-chrome - 如何禁用 Google Chrome 扩展程序自动更新

javascript - (JavaScript & HTML )将元素从一个列表移动到另一个列表

javascript - 将文件从一台远程服务器发送到另一台远程服务器

google-chrome-extension - 为什么这个声明性的网络请求规则不起作用?

javascript - Chrome 扩展程序检测扩展程序内的按钮

google-chrome - 重新加载 Chrome 扩展标签

google-chrome-extension - 如何查看我的 chrome 扩展程序的总安装次数?

google-chrome - Chrome 应用模式下的工具栏