zoukankan      html  css  js  c++  java
  • document.write 向文档中写内容,包括文本、脚本、元素之类的,但是它在什么时候执行不会覆盖当前页面内容尼?

    当你打开一个页面,浏览器会

    1. 调用 document.open() 打开文档
    2. document.write(...) 将下载到的网页内容写入文档
    3. 所有内容写完了,就调用 document.close()
    4. 触发 dom ready 事件(DOMContentReady)

    所以你如果在第3步之前 document.write(1) 那么你就直接追加内容到当前位置,如果你在第3步之后 document.write(),那么由于 document 已经 close 了,所以必须重新 document.open() 来打开文档,这一打开,内容就被清空了。

    不信你可以这样验证一下 :

    1. 打开 等页面加载完
    2. 在控制台运行 document.write(1),会看到页面清空,只有一个 1
    3. 再次运行 document.write(1),会发现页面没有清空,1 变成了 11,因为追加了一个1
    4. 运行 document.close(),这是文档就关闭了。
    5. 再次运行 document.write(1),你会发现文档又清空了,变成了 1。

    或  案例实践下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
        <title>Title</title>
    
    </head>
    <body>
    <p>
        原先内容
    </p>
    <script>
        document.addEventListener("readystatechange", function (event) {
            if (document.readyState === "complete") {
                document.write("complete");
                document.close();
                document.write("complete");
            }
        }, false);
    </script>
    </body>
    </html>
  • 相关阅读:
    C# GetHashCode 部分冲突列表 数字字符串版本
    Amazon Dynamo DB
    SCTP 一句话介绍
    SystemTap 使用以及安装
    Windows Azure Service Disruption on Feb 29th
    发布ASP.NET MVC3网站
    SQLServer数据集合的交、并、差集运算
    DataTable的几个函数
    oracle创建表空间以及用户的语句
    asp.net mvc3及odp.net资料下载地址
  • 原文地址:https://www.cnblogs.com/czhyuwj/p/5855646.html
Copyright © 2011-2022 走看看