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

我用本章节的内容写了一段代码,结果浏览器老是崩溃fierfox和chrome都出现这种问题

求教下大神这是什么原因啊?还有时间下方的效果也出不来

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
</head>
 <script type='text/javascript'>
  function clock(){
   var mytime=new Date();
   var mydate=mytime.getFullYear()+'年'+mytime.getMonth()+'月'+mytime.getDate()+'日';
   var m=mytime.getMinutes();
   var h=mytime.getHours();
   var s=mytime.getSeconds();
   var t;
   m=startTime(m)
   s=startTime(s)
   document.getElementById("tm").innerHTML=mydate+h+':'+m+':'+s+'</br>';
   t=setInterval('clock()',500)
  }
  function startTime(i){
    if(i<10){
        i="0"+i
    }
    return i
  }
 var user_hf=window.location.href; 
 var user_na=navigator.userAgent;
 var user_sc_hg=screen.availHeight;
 var user_sc_wd=screen.availWidth;
 document.getElementById('us').innerHTML=user_hf+'</br>'+user_na+'</br>'+user_sc_hg+';'+user_sc_wd;
</script> 
<body onload='clock()'>
<b id='tm'></b>
<span id='us'></span>
</body>
</html>


正在回答

4 回答

你要把
t=setInterval('clock()',500)写在clock函数外面

写在函数里面就成无限递归了。函数每执行一次,都会有个setInterval事件,资源大大的占据

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

心为形役 提问者

这个写法我是在W3C上面学的,他的实例也是这样写的。
2016-04-13 回复 有任何疑惑可以回复我~
#2

心为形役 提问者

崩溃的问题确实是这个原因,我修改后解决了。后面的获取地址、浏览器、屏幕分辨率的效果不显示问题麻烦你帮忙看下,谢谢!
2016-04-13 回复 有任何疑惑可以回复我~
#3

那一霎的光芒 回复 心为形役 提问者

抱歉,没有关注消息这边的内容。因为你的js写在body前面,所以你的内容会在body里的元素加载出来之前就执行了js,导致js找不到id为us的这个元素,最终显示不出来。之所以时间显示出来是因为body标签里使用onload调用click这个函数,onload的意思是页面加载之后再执行某些操作。解决方法是你把获取地址、浏览器、屏幕分辨率这段js提出写在<span id='us'></span>下面,就解决了
2016-05-12 回复 有任何疑惑可以回复我~
#4

心为形役 提问者 回复 那一霎的光芒

谢谢你的解答
2016-05-16 回复 有任何疑惑可以回复我~
查看1条回复

把setInterval改成setTimeout也可以执行时间

0 回复 有任何疑惑可以回复我~
  1. 你在body里面运行的clock这个函数里面的内容。



<!DOCTYPE html>


<html>


<head>


<meta charset="utf-8">


<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">


<title>Examples</title>


<meta name="description" content="">


<meta name="keywords" content="">


<link href="" rel="stylesheet">


</head>


 <script type='text/javascript'>
   //var t=setInterval('clock()',500);


  function clock(){


   var mytime=new Date();


   var mydate=mytime.getFullYear()+'年'+mytime.getMonth()+'月'+mytime.getDate()+'日';


   var m=mytime.getMinutes();


   var h=mytime.getHours();


   var s=mytime.getSeconds();


   var t;


   m=startTime(m)


   s=startTime(s)


   document.getElementById("tm").innerHTML=mydate+h+':'+m+':'+s+'</br>';


  var user_hf=window.location.href;


 var user_na=navigator.userAgent;


 var user_sc_hg=screen.availHeight;


 var user_sc_wd=screen.availWidth;


 document.getElementById("us").innerHTML=user_hf+'</br>'+user_na+'</br>'+user_sc_hg+';'+user_sc_wd;


  }


  function startTime(i){


    if(i<10){


        i="0"+i


    }


    return i


  }


</script>


<body onload='clock()'>


<b id='tm'></b>


<span id='us'></span>


</body>

</html>

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

心为形役 提问者

谢谢你的回复
2016-04-28 回复 有任何疑惑可以回复我~

(首先我是个学渣 )

然后 应该是循环出BUG了吧  

我好像也遇到了类似问题 浏览器就无响应了 打开任务管理器发现“服务主机:本地服务(网络受限)”使磁盘飙到了70%多  

这个有关系吗  求解

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

举报

0/150
提交
取消

我用本章节的内容写了一段代码,结果浏览器老是崩溃fierfox和chrome都出现这种问题

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