如何在注入的javascript代码中执行函数

时间:2015-12-30 18:49:25

标签: javascript safari-extension

我想获得一些数据并传递给网站。

    window.onload = function(){
        var num = Math.round(10000*Math.random());
        var callbackMethodName = "cb_" + num;

        window[callbackMethodName] = function(data){
            letStart(data);
        }
        var sc = document.createElement("script");
        sc.id = "script_" + callbackMethodName;
        sc.src = "http://example.com/getData.php?callback=" + callbackMethodName;
        document.body.appendChild(sc);      
        document.getElementById(sc.id).remove();        

        function letStart(badges){

            for (var i = 0; i < badges.length; i++){
                console.log(badges[i][0]);
            }

        }

    }

如果上面的代码在html页面上执行,它将起作用。但是当注入代码时,我得到以下错误。

ReferenceError: Can't find variable: cb_4276

也许这部分剂量可行,但如何使其起作用?

window[callbackMethodName] = function(data){
                letStart(data);
            }

//编辑

Tutorial

0 个答案:

没有答案