• 技术文章 >web前端 >js教程

    如何实现javascript延时加载

    醉折花枝作酒筹醉折花枝作酒筹2021-07-22 11:54:33原创120

    实现方法:1、使用setTimeout方法,语法“setTimeout('js方法',延迟时间);”;2、引入外部js脚本文件时,放入body中,则会按照页面从上倒下的加载顺序来运行JavaScript的代码。

    本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

    js的延迟加载有助与提高页面的加载速度,以下是延迟加载的几种方法:

    1.使用setTimeout延迟方法的加载时间

    延迟加载js代码,给网页加载留出更多时间

    <script type="text/javascript" >
      function A(){
        $.post("/lord/login",{name:username,pwd:password},function(){
          alert("Hello");
        });
      }
      $(function (){
        setTimeout('A()', 1000); //延迟1秒
      })
    </script>

    2.让js最后加载

    例如引入外部js脚本文件时,如果放入html的head中,则页面加载前该js脚本就会被加载入页面,而放入body中,则会按照页面从上倒下的加载顺序来运行JavaScript的代码~~~ 所以我们可以把js外部引入的文件放到页面底部,来让js最后引入,从而加快页面加载速度

    上述方法2也会偶尔让你收到Google页面速度测试工具的“延迟加载javascript”警告。所以这里的解决方案将是来自Google帮助页面的推荐方案。

    //这些代码应被放置在</body>标签前(接近HTML文件底部)
    <script type="text/javascript">
      function downloadJSAtOnload() {
        var element = document.createElement("script");
        element.src = "defer.js";
        document.body.appendChild(element);
      }
      if (window.addEventListener)
        window.addEventListener("load", downloadJSAtOnload, false);
      else if (window.attachEvent)
        window.attachEvent("onload", downloadJSAtOnload);
      else window.onload = downloadJSAtOnload;
    </script>

    这段代码意思是等到整个文档加载完后,再加载外部文件“defer.js”。

    使用此段代码的步骤:

    1).复制上面代码

    2).粘贴代码到HTML的标签前 (靠近HTML文件底部)

    3).修改“defer.js”为你的外部JS文件名

    4).确保你文件路径是正确的。例如:如果你仅输入“defer.js”,那么“defer.js”文件一定与HTML文件在同一文件夹下。

    注意:这段代码直到文档加载完才会加载指定的外部js文件。因此,不应该把那些页面正常加载需要依赖的javascript代码放在这里。而应该将JavaScript代码分成两组。一组是因页面需要而立即加载的javascript代码,另外一组是在页面加载后进行操作的javascript代码(例如添加click事件或其他东西)。这些需等到页面加载后再执行的JavaScript代码,应放在一个外部文件,然后再引进来。

    【推荐学习:javascript高级教程

    以上就是如何实现javascript延时加载的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:js 延迟加载
    上一篇:javascript里什么是表达式 下一篇:java和JavaScript闭包的区别是什么
    第16期线上培训班

    相关文章推荐

    • javascript如何设置全局变量• Javascript数组什么意思• javascript基于对象吗• javascript预编译做了啥• javascript里什么是表达式

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网