document.write 页面空白

xiaoxiao2021-02-28  7

在使用中会遇到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);
转载请注明原文地址: https://www.6miu.com/read-1600396.html

最新回复(0)