0

有谁知道 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);

有任何想法吗?

4

0 回答 0