JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了懒加载javascript大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
延迟加载js或按需加载这三种方式之间的基本区别是什么?为什么?

脚本1:

$.getScript = function(url,callBACk,cachE){
   $.ajax({
      type: "GET",url: url,success: callBACk,dataType: "script",cache: cache
   });
};

SCRIPT2:

function require(file,callBACk) {
    var script = document.getElementsByTagName('script')[0],newjs = document.createElement('script');

    // IE
    newjs.onreadystatechange = function () {
        if (newjs.readyState === 'loaded' || newjs.readyState === 'complete') {
            callBACk();
        }
    };

    // others
    newjs.onload = function () {
        callBACk();
    };

    newjs.src = file;
    script.parentNode.insertBefore(newjs,script);
}

document.getElementById('id').onclick = function () {
    require('ondemand.js',function () {
        extraFunction('loaded from the parent page');
        document.body.appendChild(document.createTextNode('done!'));
    });
};

script3:

$L = function (c,d) {
    for (var b = c.length,e = b,f = function () {
            if (!(this.readyState
                    && this.readyState !== "complete"
                    && this.readyState !== "loaded")) {
                this.onload = this.onreadystatechange = null;
                --e || d()
            }
        },g = document.getElementsByTagName("head")[0],i = function (h) {
            var a = document.createElement("script");
            a.async = true;
            a.src = h;
            a.onload = a.onreadystatechange = f;
            g.appendChild(a)
        }; b;) i(c[--b])
};

解决方法

>使用ajax加载脚本.更具体地说,它使用XHR加载一些js并将其提供给浏览器.没有阻止.它仍然执行相同的原始政策. >通过创建< script />修改标题以注入新的.js文件元件.这也不会阻止浏览器加载页面. >和#2一样,但它似乎支持一系列脚本.它还将async设置为true,这不会导致阻塞. for循环更令人困惑,因为它创建了更多的匿名方法.

大佬总结

以上是大佬教程为你收集整理的懒加载javascript全部内容,希望文章能够帮你解决懒加载javascript所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。