应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

js,css异步加载

5302人阅读 2019/3/31 15:53 总访问:5182653 评论:2 收藏:0 手机
分类: 前端


有些时候为了效率,我们需要js与css能够异步加载


方法1:直接在后面加一个async的关键字

  1.     <script src="~/lib/jquery/dist/jquery.js" async></script>

但是这样写html5后才开始支持


方法2:动态生成一个link或者script标签来实现异步加载

例如我们动态创建一个link标签来显示样式的异步加载

  1.         $(function ({
  2.             //异步延迟加载样式
  3.             var link = $('<link />');
  4.             link.attr('href''/Content/font1.css');
  5.             link.attr('rel''stylesheet');
  6.             link.appendTo($('head'));
  7.             link.load(function ({
  8.                 console.info('加载成功...');
  9.             });
  10.         });


动态加载Js

  1. (function({
  2.      function async_load(){
  3.          var s = document.createElement('script');
  4.          s.type = 'text/javascript';
  5.          s.async = true;
  6.          s.src = 'http://www.xx.com/script.js';
  7.          var x = document.getElementsByTagName('script')[0];
  8.          x.parentNode.insertBefore(s, x);
  9.      }
  10.      if (window.attachEvent)
  11.          window.attachEvent('onload', async_load);
  12.      else
  13.          window.addEventListener('load', async_load, false);
  14.  })();


也可以动态创建一个iframe,iframe里边去请求某个js

  1. var iframe = document.createElement('iframe'); 
  2.  document.body.appendChild(iframe); 
  3.  var doc = iframe.contentWindow.document; 
  4.  doc.open().write('<body onload="insertJS()">'); 
  5.  doc.close();


其实这种动态加载iframe的方式也可以实现一个iframe预加载,这样可以提高iframe加载的速度






欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

饰心

2019/4/8 13:42:19

牛逼,正好用到

剑轩:@饰心握手握手~

2019/4/9 20:59:24 回复