在浏览器端编辑javascript

时间:2014-09-09 21:16:05

标签: javascript browser

出于集成目的,我使用来自其他提供商的javascript文件。我将以下一种方式将其添加到我的网站

    var other = document.createElement('script');
    other.type = 'text/javascript'; 
    other.async = true;
    other.src = SOME_URL_ON_OTHER_DOMAIN;
    (document.getElementsByTagName('body')[0]).appendChild(other);

现在我想改变它的内容。我可以在浏览器端自己做这个而不改变javascript提供者方面吗?如果不是跨浏览器解决方案就没问题了。

1 个答案:

答案 0 :(得分:2)

您必须观察并等待加载远程文件。加载后,您可以重新定义功能。例如,这样的事情应该让你开始:

redefineRemoteFunctions = setInterval( function() {
    if ( typeof window["remoteFunction"] == "function" ) {
        // looks like the remote library has been loaded, we can now redefine the functions
        window["remoteFunction"] = function( ) {
            // do whatever you want here
        };
        clearInterval(redefineRemoteFunctions);
    }
}, 100 );