document.write的问题

简介

将输出流写入到网页的能力就是document.write,还有open() close() writeln()。方法都是接受一个字符串参数,即要写入到输出流中的文本。wirte原样写入,writeln在字符串末尾添加换行符。页面被加载过程中,可以使用这两个方法向页面中动态添加内容。

用法

...

...

这个例子会创建一个DOM元素,然后输出到页面中。
此时再去浏览器中检测DOM的结构,会发现script与p之间多了一个strong元素,浏览器在解析完p元素之后,碰到script元素并执行之,此时document.write将一段HTML代码写入到文档流中,script脚本执行完毕后,浏览器会解析文档流中的字符串,对新添加的strong标签进行解析。

如果将渲染好的页面保存下来,不同的浏览器会有不同的结果。如Chrome和Firefox的做保存下来的页面文件中,script后面会增加strong标签,而IE中则是维持原状。(这里指的是原有的HTML结构,不同浏览器将页面保存会作不同的处理,有些会增加一些不影响原有结构的标签或注释。这意味着,如果浏览器重新加载Chrome或Firefox中保存下来的页面文件,就会多出一个strong标签。

如下
document.write的问题_第1张图片

遇到script标签

如果我们在document.write中输出script标签,那这就是一个有意思的问题了。

<html>
    <body>
        <script type="text/javascript">
document.write("
                    
                    

你可能感兴趣的:(前端,JavaScript)