我正在尝试创建一个扩展程序来设置Chrome上的某些设置,例如弹出窗口等。
我在宣言中要求contentSettings
许可:
"permissions": [
"tabs", "http://*/*", "https://*/*","contentSettings"
],
我有以下js代码来更改设置
var url = 'http://google.com';
var pattern = /^file:/.test(url) ? url : url.replace(/\/[^\/]*?$/, '/*');
var setting = 'popups';
console.log(' setting for '+pattern+': '+setting);
chrome.contentSettings[setting].set({
'primaryPattern': pattern,
'setting': 'allow'
});
我在控制台中收到以下错误:
Uncaught TypeError: Cannot read property 'popups' of undefined
我做错了什么?
答案 0 :(得分:1)
大多数chrome。* API不适用于内容脚本。它们只能用于您定义的背景或事件页面,弹出窗口或其他扩展视图。如果您需要根据取决于页面内容的内容启动操作,您可以将内容脚本中的消息发送到背景或事件页面以执行此操作。
答案 1 :(得分:0)
您的脚本看起来不错,但您拼错了设置!它应该是“弹出窗口”而不是“弹出窗口”。
这些字符串是预定义的常量,因此您必须坚持使用Chrome API声明的内容。