我正在我的asp.net页面中通过jQuery加载用户控件。
用户控件包含JavaScript文件,同时加载用户控件一次加载所有js加载,它们相互依赖,并且在所有文件一次加载时往往会出错。所以我希望我的JavaScript文件一个接一个地同步加载,因为一个文件完全加载比下一个文件应该开始加载。
有没有办法在JavaScript中设置同步模式?或者任何JavaScript设置这个?任何指针或建议都会非常有用。
答案 0 :(得分:2)
JS文件按照您将它们放入HTML代码的顺序加载。
例如,
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
你总是需要在jQuery UI之前加载jQuery(或者因为它使用jQuery $快捷方式而无法识别UI)所以你必须在jQuery UI之前将jQuery行添加到你的HTML中。 当你的页面完全加载时,js将启动,这要归功于window.onload,$(document).ready(function(){});对于jQuery或通过它将遇到的第一个命令。
答案 1 :(得分:2)
您应该使用jQuery.load()仅加载 HTML片段,而不是使用脚本加载整页。 jQuery使用加载文档的DOM结构来修改页面相应部分(控件)的DOM结构。
通常,您可以使用jQuery.ajax加载脚本,但我建议您使用简化形式jQuery.getScript()。 jQuery.getScript()可用于使用GET HTTP请求从服务器加载JavaScript文件,然后执行它。使用success
事件处理程序,您可以在加载脚本后执行某些操作。
答案 2 :(得分:1)
JavaScript文件始终同步加载。事实上,JavaScript 总是同步运行,因为它是单线程的。
我的猜测是你需要找出包含文件的顺序,以便它能正常运行。一旦加载了所有JavaScript和图像,您就可以使用window.onload
事件来运行脚本。