<script language=javascript>
function countDown(secs,surl){
//alert(surl);tiao.innerText=secs;
if(--secs>0){
setTimeout("countDown("+secs+",'"+surl+"')",1000);
}
else{location.href=surl;
}
}
</script>
aspx:<asp:Label ID="Label1" runat="server" Text="注册成功,请等待审核,正在跳转...."></asp:Label>
<br />
<br><span id="tiao">3</span>秒后自动跳转到主页面<script language=javascript>countDown(3,'Default.aspx');</script>为什么?怎么改才能都能用
tiao.innerText=secs;
--secs;
if(secs==-1){
location.href=surl;
}
setTimeout("countDown("+secs+",'"+surl+"')",1000);
//修改成:
function f(a,b){
countDown(a,b)
}
setTimeout(function(){f("+secs+",'"+surl+"')},1000);
我给setTimeout参数使用了匿名函数,可是这样还是ie里面可以3秒跳转,firefox不动<script language=javascript>
function countDown(secs,surl){
tiao.innerText=secs;
if(--secs>0){
function f(a,b){countDown(a,b)}
setTimeout(function(){f(secs,surl)},1000);
}
else{
location.href=surl;
}
}
</script><script language=javascript>countDown(3,'Default.aspx');</script>
innerText改成innerHTML
那种写法可以两种浏览器都跳转的?帮帮忙吧,倒腾老长时间了
window.location = 'http://www.neten.de';则在两种浏览器中都支持了
原因:innerText在IE中能正常工作,但是innerText,innerHTML在FireFox中却不都不能使用. 需用textContent。
解决方法<script language=javascript>
function countDown(secs,surl){
//区别浏览器有两点一.是firefox里面不能使用innerHTML,也不能使用innerText,
//只能使用textContent
//二,firefox里面不支持直接用对象的ID必须用getElementByID("对象的ID")
if(navigator.appName.indexOf("Explorer") > -1){
document.getElementById('tiao').innerHTML=secs;
} else{
document.getElementById('tiao').textContent = secs;
}
// tiao.innerHTML=secs;
if(--secs>0){
//setTimeout("countDown("+secs+",'"+surl+"')",1000);
function f(a,b){countDown(a,b)}
setTimeout(function(){f(secs,surl)},1000);
}
else{
// location.href=surl;
window.location=surl;
}
}
</script>