我有一些jQuery代码需要2个外部.js来完成加载才能成功完成我需要做的事情,并且$(document).ready
的工作不够稳定;有时候它会起作用,有时它会被外部.js代码覆盖。
有没有办法确保页面完全加载,包括我的jQuery执行之前的所有外部.js?
答案 0 :(得分:5)
$(document).ready
仅等待加载DOM。要等到页面中的所有资源(包括图像,对象,脚本......)都已加载(下载),您可以使用window.onload
:
window.onload = function () {
// do stuff
};
答案 1 :(得分:2)
当我们对您的项目一无所知时,不可能知道什么是更好的方式,但一般来说,最好在结束前完成所有脚本加载</body>
标签。然后确保你的jquery代码在依赖之后加载。
<!DOCTYPE html>
<html lang="en">
<head>
<!-- your head stuff -->
</head>
<body>
<!-- your page markup here -->
<!-- load scripts here -->
<script src="library_with_no_dependencies.js"></script>
<script src="jquery.js"></script>
<script src="library_with_dependency_on_jquery.js"></script>
<script src="your_js_code.js"></script>
<script>
// or you could embed your js here
</script>
</body>
</html>
只需按照您希望它们加载的顺序列出它们。使用此方法您不需要使用jquery的$(document).ready
或window.onload
,并且您的代码将比使用这些方法之一。
您不想等待所有加载,只需加载您的javascript代码所依赖的库。