用户脚本适用于Firefox + Greasemonkey,而不适用于Chrome + Tampermonkey或纯Chrome

时间:2014-06-21 10:59:02

标签: google-chrome userscripts

我编写了一个在Firefox中完美运行的脚本。但每当我在Chrome中使用它时,它都不会做任何事情。它给了我这个错误:

Uncaught ReferenceError: uneval is not defined

我该如何解决这个问题?

function inject(func) {
    window.location = 'javascript:(' + encodeURIComponent(uneval(func)) + ')();';
}

inject(function() {
    var alt = window.alert;
    window.alert = function(s) {
        if (!String(s).match(/Error: unable to connect to API/)) {
            alt.apply(window, arguments);
        }
    };

    // Ping the Angel server every five minutes
    window.setTimeout(function() {
        if (window.ANGEL && ANGEL.sessionTimer) {
            ANGEL.sessionTimer.reset();
            ANGEL.sessionTimer.extendSession();
        }
        window.setTimeout(arguments.callee, 5 * 60 * 1000);
    }, 5 * 60 * 1000);
});

1 个答案:

答案 0 :(得分:0)

根据MND documentation uneval()仅支持Firefox。

  

我该如何解决这个问题?

我建议你改用Function.prototype.toString()