我正在尝试了解 chrome 背景页面。在对示例进行蚕食后,我设法让 background.js 脚本运行,并且每次用户访问页面时它都会弹出一个警告框。但是,当我采用相同的脚本并将其移动到 background.html 文件时,我似乎无法执行该文件。
我已将清单文件更新为页面(而不是脚本),并且扩展加载正常。我也尝试过在脚本标签中直接在正文中或在函数中使用javascript,因为现在在正文或头部中调用onload。
也许我不明白在 Chrome 扩展中使用 background.html 页面的概念?
清单文件:
{
"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"]
}
注入图像.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>
目前,除了在右上角放一个图标外,此代码似乎没有做任何事情。