当前位置: 首页 > 知识库问答 >
问题:

异步和文档就绪

巫马炫明
2023-03-14

我试图通过在脚本中添加一些Async属性来优化页面。它似乎破坏了我的javascript,因为$(document).ready是在所有脚本加载之前执行的!

我看到可以通过使用$(window).load而不是$(document).ready来解决我的问题,但我想知道是否有更好的解决方案。在我的情况下,此解决方案引发了2个问题:

  1. 我必须更改所有$(document).ready并告诉所有开发人员不要再使用它了
  2. 脚本将在所有图像加载后执行。我的网站有很多重图像,我真的需要一些脚本在dom准备好后尽快执行。

你有什么魔术吗?也许把所有脚本都放在最后?使用延迟而不是异步

共有1个答案

祁乐邦
2023-03-14

经过一些广泛的研究,我可以肯定地说,将脚本放在页面末尾是最佳实践。

雅虎同意我的观点:http://developer.Yahoo.com/performance/rules.html#js_bottom

    null

唯一的缺点,我可以看到的是,浏览器将无法并行下载。使用Async/Defer的一个很好的理由是,当您有一个完全独立的脚本(不需要依赖于执行顺序),并且不需要在特定的时间执行时。例子:谷歌分析。

 类似资料:
  • 异步操作在线程中执行,与主应用程序线程分开。当应用程序调用方法异步执行操作时,应用程序可以在异步方法执行其任务时继续执行。 示例 下面通过一个例子来理解这个概念。在示例程序中使用IO库接受用户输入。 是一种同步方法。它将阻止执行函数调用之后的所有指令,直到方法完成执行。 等待输入。它停止执行并且在收到用户输入之前不再执行任何操作。 以上示例将产生以下输出 - 在计算中,当某个事件在继续之前等待事件

  • 本文向大家介绍详解SpringBoot中异步请求和异步调用(看完这一篇就够了),包括了详解SpringBoot中异步请求和异步调用(看完这一篇就够了)的使用技巧和注意事项,需要的朋友参考一下 一、SpringBoot中异步请求的使用 1、异步请求与同步请求 特点: 可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运

  • 问题内容: 同步和异步AJAX调用有什么区别?何时使用同步以及何时异步? 问题答案: 在最基本的级别上,当您希望调用在后台发生时,您可以使用异步模式,而当您希望代码等待直到调用完成时,则可以使用同步模式。 异步模式是AJAX调用的常用方法,因为通常在事件上附加一个回调函数,以便您可以在服务器端数据就绪时进行响应,而不必等待数据到达。

  • 异步文件读写 读文件 use AsyncFile; $content = (yield AsyncFile::read(__ROOT__."runtime/test.txt")); 写文件 $res = (yield AsyncFile::write(__ROOT__."runtime/test.txt", "hello wordls!")); $res = (yi

  • 今天我正在学习谷歌定位服务。 以上代码取自https://developer.android.com/training/location/receive-location-updates.html 在文档中,函数requestLocationUpdates的每个签名都使用GoogleAppClient。上面的代码只接受LocationRequest、LocationCallback和looper。

  • 我正在使用jQuery Mobile,我无法理解经典文档就绪和jQuery Mobile页面事件之间的差异。 > 真正的区别是什么? 为什么应该 比更好 当您从一个页面转换到另一个页面时,页面事件的顺序是什么? 如何将数据从一个页面发送到另一个页面,是否可以访问上一个页面的数据?

  • 问题内容: 我正在尝试2种方法来阻止无限循环运行: supervisor_1 :任务编程取消 Supervisor_2 :使用Ctrl + C停止任务 虽然 supervisor_2 不会引发中断时,在任何错误,我不能让 supervisor_1 从得到。知道为什么吗? 这是代码: @update : 感谢@Gerasimov,这是一个可以解决此问题的版本,但仍会不时在KeyboardInterr