jQuery getScript方法的内部流程

标签 jquery getscript

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

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

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

最佳答案

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

关于jQuery getScript方法的内部流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6642081/

相关文章:

php - 对数据库中数据的操作

javascript - 如何合并输入标签内的提交按钮?

javascript - 如何在 $.getScript 加载的文件内设置 $(document).ready 函数

javascript - 从 Angular 2 项目调用 JavaScript 文件

javascript - ReCAPTCHA ajax加载主题问题

javascript - 想要通过在菜单元素外部单击来隐藏菜单

JAVASCRIPTscrollLeft平滑滚动而不跳跃

javascript - 插入 Bootstrap 轮播的 handle ?

javascript - 原生 JavaScript 中的 jQuery.getScript 替代方案

javascript - ajax 和 $.getScript() 获取新脚本