美文网首页
使用document.write()输出覆盖HTML问题

使用document.write()输出覆盖HTML问题

作者: 小杺 | 来源:发表于2018-11-09 17:15 被阅读49次

    在W3School的JavaScript教程中有这样一个警告:

        请使用 document.write() 仅仅向文档输出写内容。
    
        如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖:
    

    示例代码是这样的:

    <!DOCTYPE html>
    <html>
    <body>
    <h1>My First Web Page</h1>

    <p>My First Paragraph.</p>
    <button onclick="myFunction()">点击这里</button>

    <script>
    function myFunction()
    {
    document.write("糟糕!文档消失了。");
    }
    </script>
    </body>
    </html>

    所谓的HTML文档加载,其实HTML文档是自上而下的加载HTML表示的內容,当整個页面內容都加载完毕之后,再调用document.write()这方法(function)会将显示的页面内容都清除掉,相当于重新加载。下面这段代码没有调用function,所以没有问题。
    <html>
    <head>
    </head>
    <body>
    <p>文檔第一行</p>
    <p>文檔第二行</p>
    <script type="text/javascript">
    //這是我原本所認为的文檔之後添加了js
    document.write('會不會將前兩行文字清除呢?');
    </script>
    </body>
    </html>

    相关文章

      网友评论

          本文标题:使用document.write()输出覆盖HTML问题

          本文链接:https://www.haomeiwen.com/subject/wjboxqtx.html