HTML网站在JavaScript执行时崩溃

时间:2015-05-04 22:02:39

标签: javascript html crash

每当我加载位于here的网站时,屏幕几乎完全变黑并崩溃。除此之外,链接的服务器页面也崩溃了。我能找到帮助找到错误吗?我检查了多个验证网站,但没有一个显示错误。

以下是代码:

<html>
<head>
<style>
.titletext{
color:white;
display:block;
position:absolute;
font-size:50px;
width:1000px;
margin-left:150px;
margin-right:200px;
}
.nametext{
color:white;
display:block;
position:absolute;
font-size:30px;
width:600px;
margin-left:500px;
margin-right:200px;
margin-top:600px;
}
.earthphoto{
display:block;
position:absolute;
margin-left:400px;
margin-top:150px;
}
</style>
</head>
<body onload="update()">
<script type="text/javascript">
document.body.style.background="black";
var changescene=function(){
var allvariables=Object.keys( window );
if(page===1){
}
page++;
};
var page=1;
var x=0;
var update=function(){
if(page===1){
document.body.innerHTML="";
var text=document.createElement("p");
var textclass = document.createAttribute("class");
textclass.value="titletext";
text.setAttributeNode(textclass);
text.appendChild(document.createTextNode("Welcome to Mikey's Google Earth Presentation!"));
document.body.appendChild(text);
var text2=document.createElement("p");
text2class=document.createAttribute("class");
text2class.value="nametext";
text2.setAttributeNode(text2class);
text2.appendChild(document.createTextNode("By Mikey Richards"));
document.body.appendChild(text2);
googleearthimage=document.createElement("img");
googleearthimage.setAttribute("src","EARTH.png");
googleearthimage.setAttribute("class","earthphoto");
document.body.appendChild(googleearthimage);
var music=document.createElement("audio");
var musiclink=document.createElement("source");
musiclink.src="Test.mp3";
music.appendChild(musiclink);
var musicclass=document.createAttribute("id");
musicclass.value="sound1";
music.setAttributeNode(musicclass);
document.body.appendChild(music);
if(x===0){
document.getElementById("sound1").play();
x++;
}
if(document.getElementById("sound1").duration===document.getElementById("sound1").currentTime){
changescene();
}
}
else if(page===2){
document.body.innerHTML="";
}
update();
}
</script>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

你有一个无休止的递归。您无条件地从自身调用var update=function(){ if(page===1) { // your code } else if(page===2){ document.body.innerHTML=""; } update(); }

git config credential.https://example.com.username myusername
git config credential.helper "$helper $options"

答案 1 :(得分:1)

首先,黑屏很可能是由于脚本标记中的第一行:

document.body.style.background="black";

至于实际页面崩溃你的功能&#34;更新&#34;无休止地召唤自己,导致无限递归。