我有一个在页面加载时运行的脚本,使用PHP,并且由于输出缓冲已打开,我已将其关闭...但是,由于这是在页面加载时发生的,因此头标记内的代码对于页面,使用jQuery $(document).ready(function() { //... my code });
在整个页面加载之前不会触发。
我需要在加载页面之前运行此代码,但是在加载jQuery之后。我正在使用Google CDN加载jQuery。如果没有遇到$
undefined
的错误,有关如何执行此操作的任何想法都是{{1}}?
感谢。
答案 0 :(得分:1)
<script>
标记(没有defer
或async
标记)按HTML文件中遇到的顺序运行。如果您希望在jQuery可用后立即执行某些代码,那么您可以将该代码放在加载jQuery的<script>
标记之后的<script>
标记中。
<script src="jquery.js"></script>
<script>Your jQuery code here to run as soon as possible</script>
请记住,仅仅因为加载了jQuery,并不意味着文档中的DOM已加载并准备好进行操作。如果您真的需要等待,那么您需要将脚本放在</body>
标记之前或使用$(document).ready(fn)
并等到这些事件发生。由于jQuery主要是关于修改DOM,我很想知道你想在DOM准备好之前运行什么样的jQuery代码?
如果您正在动态加载jQuery(您没有提及),您还可以安装一个监视器,以确定该动态加载的脚本何时完成加载并通过运行您的代码来响应该事件。
有关脚本执行顺序的完整说明,请参阅以下文章:load and execute order of scripts。