有人知道Chrome在版本27中的扩展处理方面是否有重大变化?我不是指禁用的清单版本1.
我遇到的问题是,不安全的窗口(访问真实网站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开始,脚本无法访问case.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);
有什么想法吗?