欢迎来到山村网

前端性能优化:使用异步加载,延迟加载依赖

2019-03-29 11:25:49浏览:484 来源:山村网   
核心摘要:来源:GBin1.comRequireJS已经迎来了异步加载和AMD格式的巨大浪潮。XMLHttpRequest(该对象可以调用AJAX)使得资源的异步加载变得

来源:GBin1.com

前端性能优化:使用异步加载,延迟加载依赖

RequireJS已经迎来了异步加载和AMD格式的巨大浪潮。XMLHttpRequest(该对象可以调用AJAX)使得资源的异步加载变得流行起来,它允许无阻塞资源加载,并且使 onload 启动更快,允许页面内容加载,而不需要刷新页面。

我所用的异步加载器是John Hann的curl。curl加载器是基本的异步加载器,可以被配置,拥有很好的插件。以下是一小段curl的代码:

// 基本使用:  加载一部分AMD格式的模块curl(['social', 'dom'], function(social, dom) {    dom.setElementContent('.social-container', social.loadWidgets());});// 定义一个使用Google Analytics的模块,该模块是非AMD格式的define(["js!//google-analytics.com/ga.js"], function() {    // Return a simple custom Google Analytics controller    return {        trackPageView: function(href) {            _gaq.push(["_trackPageview", url]);        },        trackEvent: function(eventName, href) {            _gaq.push(["_trackEvent", "Interactions", eventName, "", href || window.location, true]);        }    };});// 加载一个不带回调方法的非AMD的js文件curl(['js!//somesite.com/widgets.js']);// 将Javascript和CSS文件作为模块加载curl(['js!libs/prism/prism.js', 'css!libs/prism/prism.css'], function() {    Prism.highlightAll();});// 加载一个AJAX请求的URLcurl(['text!sidebar.php', 'storage', 'dom'], function(content, storage, dom) {    storage.set('sidebar', content, 60);    dom.setElementContent('.sidebar', content);});

你可能早就了解,异步加载可以大大提高万展速度,但是我想在此说明的是,你要使用异步加载!使用了之后你可以看到区别,更重要的是,你的用户可以看到区别。

当 你可以根据页面内容延迟加载依赖的时候,你就可以体会到异步加载的好处了。例如,你可以只加载Twitter,Facebook和Google Plus到应用了名为social的CSS样式的div元素中。“在加载前检查是否需要”策略可以为我的用户节省好几KB的莫须有的加载。

下一篇中,我们会介绍使用Array.prototype.join代替字符串连接,以提高网页前端性能。

via Nelly@极客社区

来源:http://www.gbin1.com/technology/javascript/20130701-front-end-performance-optimization-4/

(责任编辑:豆豆)
下一篇:

帮你高效工作的信息搜集及管理术

上一篇:

从零开始全面掌握UI设计的配色方法

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com