【发布时间】:2017-09-13 11:37:00
【问题描述】:
我正在尝试制作一个 Chrome 扩展程序,它将监控 GMail 并在用户开始写消息时执行某些操作。在研究了一些示例和文档之后,我发现我应该使用 declarativeContent 来做,它会对页面更改做出反应。
这就是我现在所做的。
manifest.json:
{
"manifest_version": 2,
"name": "Gmail helper",
"version": "0.1",
"permissions": [ "declarativeContent" ],
"background": {
"scripts": ["background.js"],
"persistent": false
}
}
background.js:
chrome.runtime.onInstalled.addListener (function (details) {
chrome.declarativeContent.onPageChanged.removeRules (undefined, function () {
chrome.declarativeContent.onPageChanged.addRules ([{
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostEquals: 'mail.google.com', schemes: ['https'] },
css: ["div"]
// css: ["div[aria-label='Message Body']"]
})
],
actions: [ new chrome.declarativeContent.RequestContentScript({js: ["content.js"]}) ]
}]);
});
});
content.js:
alert ("Test");
我的计划是声明一个内容脚本,该脚本将在 GMail 中的页面更改时触发。我添加了一个声明性规则,其中定义了 pageURL、css 和操作。根据我的理解 content.js 应该在 pageUrl 和 css 内容匹配时执行。但是,content.js 没有被执行。
我做错了什么?
谢谢。
【问题讨论】:
标签: javascript css google-chrome-extension