html <link />和<script>标签不能与jquery .on('load')事件监听器

时间:2016-10-13 09:37:31

标签: javascript jquery html css

在我的项目中,我正在设计一个像Youtube一样的页面加载进度条。为此,我正在捕获所有丰富的元素标签,如img,iframe,视频,音频等,并在每个标签加载时控制进度条的宽度。您可以查看下面的代码。

&#xA;&#xA;
  var media_nos = $(“body img”)。length + $(“body iframe”)。length + $(“body video”)。length + $(“link”)。length + $(“body script”)。length;&#xA;的console.log(media_nos);&#XA;&#XA; doProgress();&#XA;&#XA; //进度条的功能&#xA; function doProgress(){&#xA; $(“body img,body iframe”)。on('load',function(){&#xA; loading.loaded ++;&#xA; console.log(loading.loaded);&#xA; var newWidthPercentage =( loading.loaded / media_nos)* 100;&#xA; animateLoader(newWidthPercentage +'%');&#xA;})。each(function(){&#xA; if(this.complete){&#xA; $(this).trigger('load');&#xA;}&#xA;});&#xA; $('body video')。on('canplaythrough',function(){&#xA; loading.loaded ++;&#xA; var newWidthPercentage =(loaded / media_nos)* 100;&#xA; animateLoader(newWidthPercentage +' %');&#xA;})。each(function(){&#xA; if(this.complete){&#xA; $(this).trigger('load');&#xA;}& #xA;});&#xA;&#xA; }&#XA;&#XA; //为加载器设置动画&#xA; function animateLoader(newWidth){&#xA; $( “#进度”)宽度(newWidth);&#XA;如果(loading.loaded == media_nos){&#XA; setTimeout(function(){&#xA; $(“#progressBar”)。animate({opacity:0});&#xA;},500);&#xA; }&#XA; }&#xA;  
&#xA;&#xA;

但是,这里的问题是我无法使用jquery .on跟踪链接和脚本标记的加载( 'load')方法就像我为img,iframe标签等所做的那样。如果我将内联onload属性写入链接标签,如下所示。

&#xA;&#xA;
 &lt ; link rel =“stylesheet”href =“css / bootstrap.min.css”onload =“load();”&gt;&#xA; &lt; link rel =“stylesheet”href =“css / bootstrap-theme.min.css”onload =“load();”&gt;&#xA; &lt; link rel =“stylesheet”href =“css / style.css”onload =“load();”&gt;&#xA; &lt; meta name =“viewport”content =“width = device-width,initial-scale = 1”&gt;&#xA; &lt; link rel =“stylesheet”href =“http://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css"onload =”load(); “&gt;&#xA;  
&#xA;&#xA;

main.js

&#xA;&#xA;
  var loading = {“loaded”:0};&#xA; function load(){&#xA;的console.log( “你好”);&#XA; loading.loaded ++;&#XA; console.log(loading.loaded);&#xA;}&#xA;  
&#xA;&#xA;

正如您所知,编写内联onload非常忙碌对于每个这样的链接和脚本标记,有没有什么方法可以像.on('load')方法更好地跟踪链接和脚本标记的加载?提前致谢。

&#xA;

0 个答案:

没有答案