document.write覆盖问题

1.不会覆盖页面:

  如果仅仅是一句js语句:document.writeln(‘<span id=\‘span1\‘>嗯,你好</span>‘);

  ps:\‘是转义字符,代表‘

2.覆盖页面

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p>你好。window.writeln</p>
<script>
  document.writeln(‘<span id=\‘span1\‘>嗯,你好</span>‘);
  document.write(‘123‘);
  window.onload=function(){
    document.writeln(‘<span id=\‘span1\‘>嗯,你好</span>‘);
  }
</script>
</body>
</html>

效果:

我对于为什么会覆盖的认识:

  1.之前,是一直加载,写入页面内容。当加载完了,文档流关闭。

  2.当加载完成,触发window.onload事件。在例子中onload绑定的函数有:document.write(*****)语句,这会让文档流再次打开【ps:是一个叫open()的方法,该方法会清空当前文档内容,然后再写。写完后调close方法,文档流关闭】,所以就会出现覆盖现象

  

时间: 2024-08-09 06:23:26

document.write覆盖问题的相关文章

document.getElementById的简便方式

封装自己的元素获取方法,使元素获取变得简便 注意:1.应该要防止定义的被重写,可将同名的重新定义   2.可将封装的对象置为全局对象,方便使用 通过id查找单个元素 封装方式: //通过id查找单个元素 (function (document){ //防止覆盖 var _overwrite = window._, _; _ = { $ : function(id){ return typeof id === "string" ? document.getElementById(id)

document.write()的一些坑

这段时间在做一个广告系统,需要用js自动生成广告代码,其中遇到一些问题,在这记录下. 第三方广告代码一般都是用 document.write()向页面写入,这次使用的时候遇到不少坑,经常会出现使用document.write()向页面写入的时候当前页面被清 空.这正是document.write()的特殊之处,页面载入后浏览器输出流自动关闭.此后对当前页面进行document.write()操作将打 开—个新的输出流,它将清除当前页面内容(包括源文档的任何变量或值). 那么有哪些浏览器输出流关闭

js坚持不懈之14:不要在文档加载之后使用 document.write()示例

在看w3school的JavaScript教程时,关于文档输出流中有这么一句话:绝不要在文档加载之后使用 document.write().这会覆盖该文档. 不太明白什么意思,找了一个例子: <!DOCTYPE html> <html> <body> <p>点击按钮就可以执行 <em>displayDate()</em>函数.</p> <button onclick = "displayDate()&quo

JavaScript 初学备忘录

JavaScript 是脚本语言 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. JavaScript 用法 HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中. <script> 标签 如需在 HTML 页面中

骚年,看我如何把 PhantomJS 图片的 XSS 升级成 SSRF/LFR

这篇文章实在是太好了,我看了好几篇,所以极力推荐给大家 原文地址 http://buer.haus/2017/06/29/escalating-xss-in-phantomjs-image-rendering-to-ssrflocal-file-read/ 译文地址 https://xianzhi.aliyun.com/forum/read/1808.html 转载至 http://paper.seebug.org/344/ 在一次赏金程序中,我碰见这么一个请求,用户输入然后生成图片供下载.过了

HTML DOM 实例

Document 对象 返回文档中锚的数目 document.write(document.anchors.length);//document会覆盖原网页 返回文档中第一个锚的 innerHTML document.write(document.anchors[0].innerHTML); 返回文档中表单的数目 document.write(document.forms.length); 返回文档中第一个表单的名字 document.write(document.forms[0].name);

Demo—cookie电商购物车

说明:cookie的操作须有域名,简单点说就是需要用发布的方式去访问,查看cookie信息请用开发者模式进入application栏 1.页面布局(结构)(根目录) 商品列表 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>商品列表</title> <link rel="styleshee

JavaScript 覆盖document.createElement 方法

题:软件项目报价方法 广告:========================================================== 欢迎使用[豆瓣读书] 管理你的阅读,查阅书评,编写读书笔记等. ^^ app下载:http://itunes.apple.com/cn/app/id695492935 ================================================================= 软件项目一般包括解决方案.开发.维护.系统集成等.以下

如果在文档已完成加载后执行&#160;document.write,整个&#160;HTML&#160;页面将被覆盖

个人理解是当触发某个包含document.write()的事件,HTML页面中body中的元素会消失,显示document.write()里面的内容.如下面的代码: 1 <p>我的第一个段落</p> 2 <button onclick="changeP()">点击<button> 3 function changeP(){ 4 document.write(Date()); 5 } 点击确定以后标签p和button里面的内容消失,在页面上