javascript - 延迟 JavaScript 加载

标签 javascript

我听过并读过几篇关于延迟 JavaScript 加载的文章,我对此非常感兴趣。对于在可加载和执行的 JavaScript 数量有限的移动平台上可能有用的 Web 应用程序来说,这似乎很有前途。

不幸的是,大多数文章都在非常高的层次上谈论这个。如何解决这个问题?

编辑

通常,所有 JavaScript 在页面加载时加载,但是,可能有一些函数在特定操作发生之前不需要,此时应加载 JavaScript。这有助于减轻浏览器在页面加载时的负担。

具体来说,我有一个大量使用 JavaScript 的页面。当我在手机上加载页面时,它无法正确加载。在调试页面时,我删除了一些 JS 函数。一旦删除了足够多的内容,该页面就会突然工作。

我希望能够根据需要加载 JS。甚至可能消除仅用于启动的功能。

最佳答案

基础知识很简单 - 将您的 JavaScript 代码分解为逻辑上独立的组件并仅加载您需要的部分。根据您正在构建的内容,您可以使用:

加载程序:

依赖管理器(也是加载器):

这些工具利用各种技术来延迟脚本的加载、脚本的执行、管理依赖项等。您需要什么取决于您正在构建什么。

您可能还想通读 this discussion了解更多有关使用此类技术的利弊的信息。


对编辑的回应:

没有真正好的方法来卸载您已经加载的 JavaScript - 您可以获得的最接近的近似是将所有加载代码保留在应用程序的命名空间中,然后“清理” up”,方法是将该 namespace 和对它的所有引用设置为 null

关于javascript - 延迟 JavaScript 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7272110/

相关文章:

javascript - JS 获取元素 html 和小写/连字符并作为类添加到父级

javascript - javascript如何调用iframe加载文件的函数

javascript - 将输入字段的两个值传递给脚本并合并以进行搜索

javascript - 根据下拉列表和文本框访问字符串变量

javascript 实时文本荧光笔,如 diigo.com

java - 与 Java 相比,Javascript 的速度有多快?

javascript - Vue.js v-validate 从模型中获取值

php - 重定向到不同的标签页

javascript - 如何使用Youtube Api和Google Analytics(分析)跟踪多个YouTube视频

php - 为什么这个 jQuery Replace() 不能在 <a 标签中工作,尽管我让它在 <p 标签中工作?