document.write插入标签会覆盖页面的问题

document.write插入js标签会覆盖页面又两种情况:

通过onclick() 点击事件触发执行document.write(),会使document.write()覆盖原来的页面。
在window.onload里面执行document.write(),也会将原来的页面覆盖。
总的来说就是 在页面渲染结束后(即文档加载后)使用document.write。会覆盖整个文档。

说明:

window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
点击事件也是页面渲染完毕后,鼠标点击才能执行。

w3school的官方说明:您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。

避免方法:

在onload之前使用document.wriet()方法;
避免在onclick()事件中使用,可用console 或 innerHTML 代替

原文链接:https://blog.csdn.net/qq_39913441/article/details/97145481

posted on 2021-04-19 11:30  文种玉  阅读(740)  评论(0编辑  收藏  举报