Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery未加载Java脚本_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript jQuery未加载Java脚本

Javascript jQuery未加载Java脚本,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,所以我被困在这个问题后面 我正在使用AJAX刷新我的网站,当我还需要向新加载的div添加脚本时,我正在使用这段代码 $.getScript('scripts/shBrushJava.js'); $.getScript('scripts/shCore.js'); setTimeout(function(){ $(".left-content").load(document.location.hash.substr(1)); }, 10); 有时这样做有效,有时则与下图所示不同 这是工作2

所以我被困在这个问题后面

我正在使用AJAX刷新我的网站,当我还需要向新加载的div添加脚本时,我正在使用这段代码

$.getScript('scripts/shBrushJava.js');
$.getScript('scripts/shCore.js');
setTimeout(function(){
    $(".left-content").load(document.location.hash.substr(1));
}, 10);
有时这样做有效,有时则与下图所示不同

这是工作2图片网站和Firebug控制台

这些是它不工作时的图像95%


如您所见,当JS没有正确加载时,它们会显示在控制台中。如何解决这个问题?

如前所述,ajax是异步的。因此,不能保证在任何给定时间加载脚本文件。您已将超时设置为10毫秒。有时,文件可能已加载和解析,有时则未加载和解析

下面是一个示例,说明如何确保加载脚本,但是已经有很多第三方库可用于此目的。比如说

简单的例子:

var getAllScripts = function (scripts, callback) {
        var i, count = scripts.length;
        // Start loading all files
        for (i = 0; i < scripts.length; i += 1) {
            $.getScript(scripts[i], function () {
                // When loaded, decrease count
                count -= 1;
                // If all is loaded, call the callbacl
                if (count === 0) {
                    callback();
                }
            });
        };
    };

getAllScripts([
        'scripts/shBrushJava.js',
        'scripts/shCore.js'
    ],
    function () {
        // Here all files is loaded, do your magic here
        alert('All is loaded');
    }
);
这里有一个尝试的方法

或者你可以把:

<script src="scripts/shCore.js" type="text/javascript"></script>
<script src="scripts/shBrushJava.js" type="text/javascript"></script>

在你的html中。然后它就保证整体加载。

ajax中的a代表异步。我不能把它们放在头上。我正在用ajax加载该部件,然后使用。画笔是javascript中的一种东西,它不会打开