任何JavaScript或jQuery方法同步加载JS文件?

时间:2010-09-28 10:25:13

标签: javascript asp.net jquery

我正在我的asp.net页面中通过jQuery加载用户控件。

用户控件包含JavaScript文件,同时加载用户控件一次加载所有js加载,它们相互依赖,并且在所有文件一次加载时往往会出错。所以我希望我的JavaScript文件一个接一个地同步加载,因为一个文件完全加载比下一个文件应该开始加载。

有没有办法在JavaScript中设置同步模式?或者任何JavaScript设置这个?任何指针或建议都会非常有用。

3 个答案:

答案 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事件来运行脚本。