如何从javascript控制台动态下载和运行javascript脚本?

jkp*_*jkp 11 javascript debugging jquery

我是否可以在javascript控制台中执行单行程序从远程源下载并执行javascript脚本?

我正在寻找一个很好的方法来下载这个脚本,并用它来交互式地在随机页面上进行实验,这可能没有说,jQuery加载.

[编辑:我知道我可以动态创建一个脚本元素,但是有更好的方法吗?]

jAn*_*ndy 10

我为此写了一个小脚本.

var loadjQuery = function(cb){
   if(typeof(jQuery) == 'undefined'){
     var scr = document.createElement('script');
     scr.setAttribute('type', 'text/javascript');
     scr.setAttribute('src', 'http://code.jquery.com/jquery-latest.js');

     if(scr.readyState){
        scr.onreadystatechange = function(){
            if(scr.readyState === 'complete' || scr.readyState === 'loaded'){
               scr.onreadystatechange = null;
               if(cb === 'function'){
                  args = [].slice.call(arguments, 1);
                  cb.apply(this, args);
               }
            }
        };
     }
     else {
        scr.onload = function(){
           if(cb === 'function'){
              args = [].slice.call(arguments, 1);
              cb.apply(this, args);
           }
        };
     }

     var head = document.getElementsByTagName('head')[0];
     head.insertBefore(scr, head.firstChild);  
   }
}
Run Code Online (Sandbox Code Playgroud)

这适用于跨浏览器.

编辑

我已将该脚本更新为带回调的函数.故事梗概应该是:

loadjQuery(function(something){
    // execute code after library was loaded & executed
});
Run Code Online (Sandbox Code Playgroud)