我正在编写一个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://之前,但是我必须删除它,因为我没有足够的积分在问题中有三个链接)
答案 0 :(得分:2)
这是修复以防止拦截其他扩展程序和应用程序请求的结果。他们不小心也阻止了托管应用程序。请参阅crbug.com/510802#c60和crbug.com/526413#c23