jQuery getScript 方法的内部进程



我试图了解getScript的内部过程。我知道它使用了$。内部获取方法。我认为jQuery将脚本标签引用放入DOM中,以便能够执行该js文件,但我无法在DOM中找到getScript加载脚本的脚本引用。

那么jQuery如何在DOM中执行没有脚本标签引用的加载脚本?

$.getScript('gallery.js')$('<script src="gallery.js">').appendTo('body')是完全一样的?

这是源代码中有趣的部分。

jQuery似乎只是接收文本并在全局范围内对其进行评估:

converters: {
    "text script": function( text ) {
        jQuery.globalEval( text );
        return text;
    }
}

如果你从不同的域加载脚本,jQuery添加了一个新的script标签:

head.insertBefore( script, head.firstChild );

,但是一旦代码被加载就会移除它:

// Remove the script
if ( head && script.parentNode ) {
    head.removeChild( script );
}

Luke,使用源代码

(注意这些链接指向旧的提交)

最新更新