您现在的位置:首页 >> 前端 >> 内容

document.write页面空白问题如何解决?

时间:2017/12/14 11:56:29 点击:

  核心提示:在使用中会遇到document.write后页面空白的问题,先了解原因然后就可以解决了原因要知道1、Dom元素加载是在文档流中执行的。当最后一行加载出来后。文档流就关闭了。document.close...

在使用中会遇到document.write后页面空白的问题,先了解原因然后就可以解决了

原因

要知道

1、Dom元素加载是在文档流中执行的。当最后一行加载出来后。文档流就关闭了。document.close().

2、文档流关闭后,如果再去执行document.write()。因为document没有文档流了无法write.所以就会重新document.open()一个新的文档流。导致之前的页面内容被清空。

在载入页面后,浏览器输出流自动关闭。
在此之后,任何一个对当前页面进行操作的document.write()方法将打开—个新的输出流,它将清除当前页面内容(包括源文档的任何变量或值)。

推论

由此可知。在页面加载完毕后再次使用document.write()会导致页面空白。怎么办呢?

执行前先使用document.open()打开?错!!!为什么呢?因为浏览器主进程和document进程不一样。(详情去百度下,我也不太明白)

解决办法

document.write("<script src=\""+ad_url+"\"></script>");

改为

var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = ad_url;
wntjcon.appendChild(newScript);

Tags:DO OC CU UM 
作者:网络 来源:jiawenbo89