Jquery 清除缓存后getscript不工作

Jquery 清除缓存后getscript不工作,jquery,getscript,Jquery,Getscript,我正在使用getscript()为我的图像库加载一些脚本。只要我单击gallery,就会运行以下代码: $(function () { $(window).hashchange(function () { $(document).ready(function () { $('#nav li a').click(function () { $('#content-wrap').load(toLoad, showNewContent);

我正在使用getscript()为我的图像库加载一些脚本。只要我单击gallery,就会运行以下代码:

$(function () {
$(window).hashchange(function () {
    $(document).ready(function () {
        $('#nav li a').click(function () {
            $('#content-wrap').load(toLoad, showNewContent);

            function showNewContent() {
                if ($('#content-wrap').is(':empty')) {
                    return false;
                } else {
                    if (window.location.hash == "#photos") {
                        alert("soundswaste1");
                        $.getScript("galleria/galleria-1.2.8.min.js");
                        $.getScript("galleria/themes/classic/galleria.classic.min.js", getGalleria);

                        function getGalleria() {
                            alert("soundswaste2");
                            $.getScript("galleria.js");
                        }
                    }
                    $('#content-wrap').fadeIn(500).css("display", "block");
                }
                return false;
            });
        });
    });
});
首先,我进入chrome控制台->右键单击网络选项卡->清除浏览器缓存->刷新页面->然后单击照片。 我收到警报“soundswaste1”,但效果不起作用。图像在页面上排成一行

然后,我只需再次单击“照片”,我就会收到两个警报,每个警报两次。 2个问题:

  • 为什么清除缓存会阻止所有脚本第一次加载。是否因为它们位于不同的路径

  • 为什么我第二次收到两次警报


  • 我猜
    galleria.classic.min.js
    取决于
    galleria-1.2.8.js
    在第一次加载时,您尝试一个接一个地加载它们, 但是要确保在加载第二个脚本时,第一个脚本已经加载完毕。 因此,在第一个的
    success
    上,加载第二个,如下所示:

    $(document).ready(function () {
        $('#nav li a').click(function () {
            $('#content-wrap').load(toLoad, showNewContent);
    
            function showNewContent() {
                if ($('#content-wrap').is(':empty')) {
                    return false;
                } else {
                    if (window.location.hash == "#photos") {
                        alert("soundswaste1");
                        $.getScript("galleria/galleria-1.2.8.min.js",
    
                        function () {
                            $.getScript("galleria/themes/classic/galleria.classic.min.js",
    
                            function () {
                                alert("soundswaste2");
                                $.getScript("galleria.js");
                            });
                        });
    
    
                    }
                    $('#content-wrap').fadeIn(500).css("display", "block");
                }
                return false;
            });
        });
    

    为什么
    $(窗口).hashchange
    会在
    $(文档).ready
    之前运行,如果您离开页面并重新加载脚本,为什么会运行
    $(窗口).hashchange
    ?为什么有
    $(函数(){
    $(文档).ready
    ?总之,删除前两行代码和前两行代码。之后一切都应该正常。好的,我删除了前两行和最后两行,这只是文档。现在准备好了。我不再收到两次警报,但问题1仍然存在。如果我清除缓存,第一次就不起作用。只有当我再次点击链接。