Chrome扩展程序可更改Chrome设置

时间:2015-06-14 01:05:04

标签: javascript google-chrome google-chrome-extension google-chrome-devtools

我正在尝试创建一个扩展程序来设置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

我做错了什么?

2 个答案:

答案 0 :(得分:1)

大多数chrome。* API不适用于内容脚本。它们只能用于您定义的背景或事件页面,弹出窗口或其他扩展视图。如果您需要根据取决于页面内容的内容启动操作,您可以将内容脚本中的消息发送到背景或事件页面以执行此操作。

答案 1 :(得分:0)

您的脚本看起来不错,但您拼错了设置!它应该是“弹出窗口”而不是“弹出窗口”。

这些字符串是预定义的常量,因此您必须坚持使用Chrome API声明的内容。