Javascript jQuery未加载Java脚本
所以我被困在这个问题后面 我正在使用AJAX刷新我的网站,当我还需要向新加载的div添加脚本时,我正在使用这段代码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
$.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中的一种东西,它不会打开