Chrome扩展程序 - webRequest侦听器无法正常工作

时间:2015-09-11 00:18:17

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

我正在编写一个Chrome扩展程序,用于收听Google文档上的网络请求。我的所有代码大约在一周前工作,当我今天打开Chrome再次运行它时,我的webRequest监听器不再起作用。

我可以看到请求通过,但“REQUEST”永远不会打印到控制台。这是我的代码的问题吗?是否有新的Chrome更新导致此更新不再有效?

Google文档页面的控制台中出现了一些错误(不是我的扩展程序的背景页面),我也列出了一些错误。

background.js:

chrome.webRequest.onBeforeRequest.addListener(
      function(request) {
          console.log("REQUEST");
          if (request.url.indexOf('/save?') != -1) {
            var requestBody = request.requestBody;
            var docId = request.url.match("docs\.google\.com\/document\/d\/(.*?)\/save")[1];
            var data = {
              "bundles": requestBody.formData.bundles,
              "timeStamp" : parseInt(request.timeStamp, 10)
            };
        parseData(data);
      }
    },
    { urls: ["*://*.google.com/*"] },
    ['requestBody']
);

manifest.json:

{
  "manifest_version": 2,
  "name": "Document Difficulty Prediction",
  "version": "0.1",
  "background": {
    "scripts": ["background.js"],
    "persistent": true
  },
  "permissions": [
    "webRequest",
    "activeTab",
    "*://*.google.com/"
   ]
}

docs.google.com控制台中的错误列表:

GET chrome-extension://ghbmnnjooekpmoecnnnilnnbdlolhkhi / page_embed_script.js net :: ERR_FAILED

jquery.min.js:3在docs.google.com/document/d/1tMzarhc5tqcMR8-Rpm_ukJ20pXK2jH8Ekub8HqHP_50/edit中阻止执行脚本,因为文档的框架是沙箱,并且未设置“allow-scripts”权限。

未捕获的SecurityError:阻止原始clients5.google.com访问包含原始docs.google.com的框架的框架。协议,域和端口必须匹配。

(错误消息中的所有三个链接都在https://之前,但是我必须删除它,因为我没有足够的积分在问题中有三个链接)

1 个答案:

答案 0 :(得分:2)

这是修复以防止拦截其他扩展程序和应用程序请求的结果。他们不小心也阻止了托管应用程序。请参阅crbug.com/510802#c60crbug.com/526413#c23