[英]Chrome Extension - webRequest listener not working
我正在编写一个 Chrome 扩展程序来监听 Google Docs 上的网络请求。 我的所有代码大约在一周前都可以运行,当我今天打开 Chrome 再次运行它时,我的 webRequest 侦听器不再起作用。
我可以看到请求正在通过,但“REQUEST”永远不会打印到控制台。 这是我的代码的问题吗? 是否有新的 Chrome 更新导致它不再起作用?
Google Docs 页面(不是我的扩展程序的背景页面)的控制台中出现了一些错误,我也包含了它们的列表。
背景.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']
);
清单.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 控制台中的错误列表:
获取 chrome-extension://ghbmnnjooekpmoecnnnilnnbdlolhkhi/page_embed_script.js net::ERR_FAILED
jquery.min.js:3 阻止了 docs.google.com/document/d/1tMzarhc5tqcMR8-Rpm_ukJ20pXK2jH8Ekub8HqHP_50/edit 中的脚本执行,因为文档的框架已被沙盒化并且未设置“允许脚本”权限。
未捕获的安全错误:阻止了带有 origin clients5.google.com 的框架访问带有 origin docs.google.com 的框架。 协议、域和端口必须匹配。
(错误消息中的所有三个链接前面都有 https:// ,但我不得不删除它,因为我没有足够的分数来在一个问题中包含三个链接)
这是防止拦截其他扩展程序和应用程序请求的修复结果。 他们还意外地为托管应用程序阻止了它。 参见crbug.com/510802#c60和crbug.com/526413#c23
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.