Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 延迟加载脚本加载和/或执行_Javascript_Jquery_Html - Fatal编程技术网

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

Javascript 延迟加载脚本加载和/或执行,javascript,jquery,html,Javascript,Jquery,Html,在我的基于ajax的应用程序中,特别是GWT应用程序中,它有divs,其中包含隐藏在索引HTML上的脚本。这是在应用程序完全加载时重新定位的广告。这种方法的问题在于,在应用程序完全加载之前,首先获取广告脚本,从而导致应用程序延迟或加载缓慢 有没有办法延迟加载那些div中的脚本,以便应用程序可以首先优雅地加载,并且在完成页面加载之前,用户体验不会受到脚本获取及其执行的影响 e、 g ... 在我的应用程序中,有相当多的div需要延迟。jQuery有没有办法使div还没有加载,并且在时间准备好时

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

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

e、 g


...
在我的应用程序中,有相当多的div需要延迟。jQuery有没有办法使div还没有加载,并且在时间准备好时通过编程触发它

您可以使用jQuery-将.js文件中的所有内容都放到这个函数中。像这样:

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

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

正如CorwinCZ提到的,您可以使用它。和用于使用GET HTTP请求从服务器加载JavaScript文件,然后执行它

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

您可以使用一些简短的javascript来监听
body.onload
事件。触发事件时,只需将脚本标记动态添加到dom中。另一种不同的方法是将包含的脚本封装在函数中,并在触发onload事件时调用它。这样,可以在主体完成加载后直接执行脚本,而不必首先从服务器获取实际脚本。
   $(function() {
      $.getScript( "gwtapp.nocache.js" )
      .done(function( script, textStatus ) {
        console.log( textStatus );
      })
      .fail(function( jqxhr, settings, exception ) {
        console.log( "ERROR" );
    });
  });