有谁知道 Chrome 是否在版本 27 中对扩展处理进行了重大更改?我不是指禁用的清单版本 1。
我的问题是 unsafeWindow 的模拟(访问真实网站 DOM)不再起作用,在 v27 之前这没有问题,但由于 v27 我只得到“安全”DOM,就像在沙盒窗口中一样目的。
我很久以前启用了清单版本 2,这似乎不是问题。
我的简单示例 Minifest(仅必要部分):
{
"manifest_version": 2,
...
"content_scripts": [
{
"matches": ["xxx*", "xxx*", "xxx*"],
"js": [
"init.js"
],
"run_at" : "document_start"
}
],
...
}
示例 init.js:自 v27 以来,脚本无法到达案例 console.log("work") 因为 unsafeWindow 中没有 jQuery 实例(来自网站的真实 dom 有它),在 v27 之前这总是有效的。
// emulate unsafe window as in firefox
window.unsafeWindow || (
unsafeWindow = (function() {
var el = document.createElement('p');
el.setAttribute('onclick', 'return window;');
return el.onclick();
}())
);
var ivb = setInterval(function(){
if(typeof unsafeWindow.$ == "undefined" || !unsafeWindow.$("body").size()) return false;
clearInterval(ivb);
console.log("work");
}, 20);
有任何想法吗?