美文网首页复习基础
JavaScript中document.write的那点事

JavaScript中document.write的那点事

作者: __马帅傅__ | 来源:发表于2017-09-16 09:50 被阅读20次

    document.write()方法可以用在两个方面:

           页面载入过程中用实时脚本创建页面内容,以及用延时脚本创建本窗口或新窗口的内容。该方法需要一个字符串参数,它是写到窗口或框架中的HTML内容。这些字符串参数可以是变量或值为字符串的表达式,写入的内容常常包括HTML标记语言。

            在载入页面后,浏览器输出流自动关闭。在此之后,任何一个对当前页面进行操作的document.write()方法将打开一个新的输出流,它将清除当前页面内容(包括源文档的任何变量或值)。因此,加入希望用脚本生成的HTML替换当前页面,就必须把HTML内容连接起来赋给一个变量,使用一个document.write()方法完成写操作。不必清除文档并打开一个新数据流,一个document.write()调用就可以完成所有的操作。

           脚本向窗口写完内容后,必须关闭输出流。在延时脚本的最后一个document.close()方法。不这样做就不能显示图像和表单,并且任何后面调用的document.write()只会把内容追加到页面后,而不会清除现有内容来写入新值。

    一般在下列情景下可以利用document.write来完成某些操作:

    1.加载需要JS脚本使用的CSS文件

    <script>

         document.write('<link rel="stylesheet" href="style.css">');

    </script>

    2.在新的窗口写入新的页面数据时(新建一个页面就不会重写之前的)

       一个标准的document.write:

    document.open();

    document.write('anything');

    document.close();

    优点:能够直接修改文档流。

    弊端:

    1.在非loading阶段document.write会清除已经加载的页面;

    2.document.write不能再XHTML中使用;

    3.嵌入script中的document.write不能给任意节点添加子节点,因为它是随着DOM的构建执行的;

    4.利用document.write写入HTML字符串并不是一个好方法,它有违DOM操作的概念;

    5.利用document.write添加script加载外部脚本时,浏览器的HTML解析会被script的加载所阻塞。

    相关文章

      网友评论

        本文标题: JavaScript中document.write的那点事

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