jQuery getScript方法的内部过程

时间:2011-07-10 15:56:48

标签: jquery getscript

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

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

$.getScript('gallery.js')$('<script src="gallery.js">').appendTo('body')完全相同?

2 个答案:

答案 0 :(得分:6)

This is the interesting part in the source code

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 );
}

答案 1 :(得分:5)

卢克,use the source

(请注意这些链接是旧提交)