javascript - 检测脚本是否已经加载

标签 javascript jquery google-chrome internet-explorer-8 getscript

helloworld.js 似乎根据我单击 #load 的次数多次加载。我这样说是因为当我查看 Google Chromes Developer Tools Network 选项卡时,它显示 helloworld.js 的次数与我点击 #load 的次数相同。

$(document).ready(function() {

    $("#load").click(function(){
        $.getScript('helloworld.js', function() {
            hello();
        });
    });

});

hello() 函数如下所示:

function hello(){
    alert("hello");
}

是否可以检测 helloworld.js 是否已经加载?

所以没加载就加载,加载了就不加载。

如果我点击 #load 按钮 4 次,Developer Tools 当前会显示以下内容:

enter image description here

最佳答案

当文件加载成功时设置一个标志。如果设置了标志,则再次跳过文件加载。

试试这段代码,

    var isLoaded = 0; //Set the flag OFF 

    $(document).ready(function() {

        $("#load").click(function(){
            if(isLoaded){ //If flag is ON then return false
                alert("File already loaded");
                return false;
            }
            $.getScript('helloworld.js', function() {
                isLoaded = 1; //Turn ON the flag
                hello();

            });
        });

    });

关于javascript - 检测脚本是否已经加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13381821/

相关文章:

javascript - 通过从 XMLHTTPREQUEST 调用将 Windows 服务中的自托管 Web Api 配置为使用 SSL

javascript - Chrome 推送通知(注册并等待通知)

javascript - 由于 TinyMCE 删除名称,Django 表单未发布

jquery - 动态选择框如何从我的文本框值动态地将选项添加到选择框

javascript - 访问 chrome/firefox 图像缓存

javascript - 谷歌的收件箱异步调用是如何工作的?

javascript - Share.js 无法与 Express.js 一起使用

php - 等待 ajax 完成后离开页面

javascript - WordPress 联系表单 7 插件作为 AJAX 加载内容的一部分时表现奇怪

jquery - 为什么 $ ('#foo' ).css ('width' , $ ('#foo' ).css ('width' )) 改变宽度?