【问题标题】:Check when jQuery is loaded and if so, do something检查 jQuery 何时加载,如果加载,则执行某些操作
【发布时间】:2014-06-18 16:08:39
【问题描述】:

我有一个使用 PHP 在页面加载时运行的脚本,并且由于打开了输出缓冲,我已将其关闭...但是,由于这是在页面加载时发生的,因此 head 标记内的代码对于页面,使用 jQuery $(document).ready(function() { //... my code }); 在整个页面加载完成之前不会触发。

我需要在页面加载之前运行这段代码,但是在 jQuery 加载之后。我正在使用 Google CDN 加载 jQuery。关于如何做到这一点而不会出现$undefined 的错误的任何想法?

谢谢。

【问题讨论】:

  • 在没有 .ready 之前使用你的 //... 我的代码

标签: php jquery output-buffering


【解决方案1】:

HTML 中的<script> 标记(没有deferasync 标记)按照在HTML 文件中遇到的顺序运行。如果您希望在 jQuery 可用时立即执行某些代码,则可以将该代码放在加载 jQuery 的 <script> 标记之后的 <script> 标记中。

<script src="jquery.js"></script>
<script>Your jQuery code here to run as soon as possible</script>

请记住,仅仅因为 jQuery 已加载,并不意味着文档中的 DOM 已加载并准备好对其进行操作。如果这确实是您需要等待的,那么您需要将脚本放在&lt;/body&gt; 标记之前,或者使用$(document).ready(fn) 并等待这些事件发生。由于 jQuery 主要是修改 DOM,我很好奇你想在 DOM 准备好之前提前运行什么样的 jQuery 代码?

如果您正在动态加载 jQuery(您没有提及),您还可以安装一个监视器,以准确了解动态加载的脚本何时完成加载并通过运行您的代码来响应该事件。

关于脚本执行顺序的完整描述,请看这篇博文:load and execute order of scripts

【讨论】:

    猜你喜欢
    • 2012-02-14
    • 2011-09-26
    • 2015-10-24
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多