为了账号安全,请及时绑定邮箱和手机立即绑定

原本页面上有button,调用函数后,document.write执行后,button就没了?

为啥?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>navigator</title>
<script type="text/javascript">
  function validB(){ 
    var u_agent =navigator.userAgent       ; 
    var B_name="不是想用的主流浏览器!"; 
    if(u_agent.indexOf("Firefox")>-1){ 
        B_name="Firefox"; 
    }else if(u_agent.indexOf("Chrome")>-1){ 
        B_name="Chrome"; 
    }else if(u_agent.indexOf("MSIE")>-1&&u_agent.indexOf("Trident")>-1){ 
        B_name="IE(8-10)";  
    }
        document.write("浏览器:"+B_name+"<br>");
        document.write("u_agent:"+u_agent+"<br>"); 
  } 
</script>
</head>
<body>
  <form>
     <input type="button" value="查看浏览器" onclick="validB()"  >
  </form>
</body>
</html>


正在回答

2 回答

点击按钮以后,调用validB()函数。函数的结果就是输出浏览器的相关信息,也就是显示出来。

0 回复 有任何疑惑可以回复我~
#1

慕数据1008917 提问者

那为什么原本body里面的button这个就没了??也没有设置他的display=none啊
2017-02-23 回复 有任何疑惑可以回复我~
#2

FatMi 回复 慕数据1008917 提问者

其实就是document.write(); 输出内容时新打开了一个页面。 消失原因是执行document.write时文档流已关闭,而document.write是打开文档流再写入,此时是一个新的页面,按钮在旧的页面上,所以看不到了。具体可以查查“为什么document.write()会清空原来的内容”,有前辈给了详细例子与解释。
2017-02-23 回复 有任何疑惑可以回复我~

YES,这就是为什么之前特别讲解了使用document要注意的关键点了,会覆盖文档输出流,意思就是会覆盖之前已经编写,展现出来的页面

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

原本页面上有button,调用函数后,document.write执行后,button就没了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信