使用document.write输出覆盖HTML问题
2016-12-01 09:45
711 查看
今天学习了javascript第一部分,关于使用document.write()写入HTML文档流。但在教程上看到一行提示:您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。这使我有些困惑,然后查了网上的各种说法,最后大概的总结一下。
所谓的HTML文档加载,其实HTML文档是自上而下的加载HTML表示的内容,当整个页面内容都加载完毕之后,再调用document.write()这方法会将显示的页面内容都会清楚。
当时我困惑的地方是,在文档加载完毕之后如何再使用这方法?在我之前所以为的是这样的代码
view
source
print?
以为所谓的在文档加载完后再调用该方法是这js语句在文档的最后,结果用上面的这样的写法其实不会清除,因为我想的是错误的。
后来了解之后,所谓的在文档加载完后再使用这方法是这样的:
view
source
print?
文档加载完的情况是显示第一到第三行字。然后所谓的再使用document.write()这方法,是通过点击第三行文字调用myFunction方法使用的,因此这是在文档加载完后使用document.write()的,所以整个页面的内容都要被清除覆盖掉。
所谓的HTML文档加载,其实HTML文档是自上而下的加载HTML表示的内容,当整个页面内容都加载完毕之后,再调用document.write()这方法会将显示的页面内容都会清楚。
当时我困惑的地方是,在文档加载完毕之后如何再使用这方法?在我之前所以为的是这样的代码
view
source
print?
01.
<
html
>
02.
<
head
>
03.
</
head
>
04.
<
body
>
05.
<
p
>文档第一行</
p
>
06.
<
p
>文档第二行</
p
>
07.
<
script
type
=
"text/javascript"
>
08.
//这是我原本所认为的文档之后添加了js
09.
document.write('会不会将前两行文字清除呢?');
10.
</
script
>
11.
</
body
>
12.
</
html
>
以为所谓的在文档加载完后再调用该方法是这js语句在文档的最后,结果用上面的这样的写法其实不会清除,因为我想的是错误的。
后来了解之后,所谓的在文档加载完后再使用这方法是这样的:
view
source
print?
01.
<
html
>
02.
<
body
>
03.
<
p
>这是第一行文字</
p
>
04.
<
p
>这是第二行文字<
p
>
05.
<
p
type
=
"text/javascript"
>
06.
function myFunction(){
07.
document.write('这下应该会清除了吧?');
08.
}
09.
</
script
>
10.
</
body
>
11.
</
html
>
文档加载完的情况是显示第一到第三行字。然后所谓的再使用document.write()这方法,是通过点击第三行文字调用myFunction方法使用的,因此这是在文档加载完后使用document.write()的,所以整个页面的内容都要被清除覆盖掉。
相关文章推荐
- 使用document.write输出覆盖HTML问题
- 使用document.write()输出覆盖HTML问题
- “您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。”
- 您只能在 HTML 输出流中使用 document.write。 如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档。
- 您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。
- 您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。
- 【小白】javascript中的“文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖”
- JavaScript基础 在body中输出HTML标记h1 document.write
- JavaScript基础 在body中输出HTML标记h1 document.write
- 使用JavaScript语言的循环语句和document.write()语句在网页中输出4行三列的表格
- 使用JavaScript语言的循环语句和document.write()语句在网页中输出4行三列的表格
- jQuery的ready使用document.write的问题
- jQuery的ready使用document.write的问题
- javascript document.write()覆盖原文档的问题
- (转)利用document.write输出静态HTML(无乱码) - [JavaScript]
- bean:write输出HTML效果的问题以及struts其他标签的问题
- Asp.net MVC 3 Razor 视图引擎 中使用@输出的内容都会被自动进行HTML编码 问题的解决办法
- 使用 Response.Write 向页面body中输出指定html
- 使用bean:write时输出的结果是HTML源代码而不是HTML效果
- 使用UpdatePanel后如果在Render中篡改输出的html代码问题解决方案