将 JavaScript 移动到 ASPX 页面的底部以减少 PageLoad

Move JavaScript to Bottom of ASPX page in order to reduce PageLoad

本文关键字:底部 PageLoad 移动 JavaScript ASPX      更新时间:2023-09-26

在我的Web应用程序中,我有许多ASPX页面,每个页面在页面开头都包含大量javaScript。这会增加页面的加载时间(40 秒分钟)。我知道javascript @页面开头会阻止页面渲染,加载时间会增加。如何在不丢失实际功能的情况下将 Javascript 移动到页面底部,以减少页面加载时间。

ClientScriptManager.RegisterClientScriptBlock(我认为ClientScriptManager.RegisterClientScriptInclude)会将脚本块渲染到form元素的顶部,而ClientScriptManager.RegisterStartUpScript会将它们渲染到form元素的底部。

RegisterStartUpScript的问题在于它没有按照添加的顺序输出脚本,这非常令人沮丧。您可以尝试以下几种方法:

  1. 确保您的脚本名称按您希望呈现的顺序按字母顺序排序(我知道很愚蠢)。
  2. 尝试实现你自己的ClientScriptManager,不要那么愚蠢。
  3. 完全避免ClientScriptManager,将脚本发送到文本块中,正好在您希望脚本出现的位置。
  4. 捆绑
  5. 客户端脚本,只包含捆绑包。
#

3 和 #4 的问题在于,控件可能会与ClientScriptManager一起检查是否已添加依赖项,如果没有,则可能会添加它,从而导致脚本被包含两次。

JavaScript 文件应该被缓存。这是减少加载时间的第一步。在底部移动JS文件会有所帮助,但如果是您唯一的操作,则不会有太大帮助。此外,您还必须检查对JS文件使用defer属性的可能性,这意味着脚本在页面完成解析后执行。