无法读取未定义的属性'onPageChanged'

时间:2014-08-20 16:17:00

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

示例扩展background.js代码

chrome.runtime.onInstalled.addListener(function() {
  chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
    chrome.declarativeContent.onPageChanged.addRules([{
      conditions: [
        // When a page contains a <video> tag...
        new chrome.declarativeContent.PageStateMatcher({
          pageUrl: { hostEquals: 'www.youtube.com'}
        })
      ],
      // ... show the page action.
      actions: [new chrome.declarativeContent.ShowPageAction() ]
    }]);
  });

});

我得到了无法在控制台中读取未定义的属性'onPageChanged'。运行代码没问题,为什么会这样?

2 个答案:

答案 0 :(得分:12)

检查您是否已将 declarativeContent 权限添加到manifest.json文件中。
这将使您的扩展程序可以访问chrome.declarativeContent API并解决您的问题。

答案 1 :(得分:0)

如果您刚刚向 manifest.json 添加了 delarativeContent 权限,请记住删除扩展并重新添加。只能在安装过​​程中添加权限。