延迟加载 脚本加载和/或执行

Delay load Script load and/or execution

本文关键字:执行 脚本 加载 延迟加载      更新时间:2023-09-26

在我的基于 ajax 的应用程序中,特别是 GWT 应用程序中,它与隐藏的索引 HTML 上的脚本div。这些广告会在应用完全加载时重新定位。这种方法的问题在于,在应用完全加载之前,首先获取广告脚本,从而导致应用效果延迟或加载缓慢。

有没有办法延迟在这些div 中加载这些脚本,以便应用程序可以首先优雅地加载,并且用户体验可能不会受到那些在完成页面加载之前获取脚本及其执行的影响?

例如

<script src="gwtapp.nocache.js"/>
<div id="ad1">
  <script>...</script>
</div>

在我的应用程序中,需要延迟的div 也很少。jQuery有没有办法使div尚未加载,并在时间准备就绪时以编程方式触发它。

正如CorwinCZ提到的,你可以使用ready函数。并使用jQuery.getScript() 使用 GET HTTP 请求从服务器加载 JavaScript 文件,然后执行它。

   $(function() {
      $.getScript( "gwtapp.nocache.js" )
      .done(function( script, textStatus ) {
        console.log( textStatus );
      })
      .fail(function( jqxhr, settings, exception ) {
        console.log( "ERROR" );
    });
  });

你可以使用 jQuery .ready() - 把.js文件中的所有内容都放到这个函数中。喜欢这个:

$(document).ready(function() {
  //code here
});

函数 .ready() 等待完整的 DOM 树加载和创建。