zoukankan      html  css  js  c++  java
  • 利用defer关键字让网页中的javascript推迟执行

    我们有时候会在网页中的<script>段中看到defer关键字,那么它到底是派什么用处呢?

    defer从字面意思上来看就是延迟,推迟的意思。它的目的在于:

    让浏览器在下载脚本的时候就不必立即对其进行处理,而是继续对页面进行下载和解析,

    等到全部页面下载完成后执行JS脚本。这样做有时候能够提高下载的性能。

    那么defer的应用有什么呢?

    我们经常会用innerHTML来动态给DOM元素加载JS,比如:
    object.innerHTML = "<script" + ">"..."</script" + ">";
    但是当你调用你这个新定义的动态JS经常会出错,说还未定义,

    解决方法是给<script>加上defer。


    在下面的代码中你可以试下把 defer去掉程序就会出错:

    <HTML>
        
    <SCRIPT>
        
    function insertScript(){
            
    var sHTML = "<input type=button onclick=myAlert()" + " value='Click Me'><BR>";
            
    var sScript="<SCRIPT defer>";
            sScript 
    = sScript + "function myAlert() { alert('Hello Javascript!') }";
            sScript 
    = sScript + "
    </SCRIPT" + ">";
            ScriptDiv.innerHTML = sHTML + sScript;
        } 
    </SCRIPT>

    <BODY onload="insertScript();">
    <DIV ID="ScriptDiv"></DIV>
    </BODY>

    </HTML>


     

  • 相关阅读:
    清除div中内容
    jq选中问题
    ios 笔记
    ios学习笔记01
    checkbox判断选中
    滚动条
    tooltip
    页面跳转的问题
    freemark 判断是否为空 是否存在
    构造析构与虚函数
  • 原文地址:https://www.cnblogs.com/davidgu/p/1523465.html
Copyright © 2011-2022 走看看