我试图通过 javascript 在 1 秒后将用户重定向到不同的页面:
setTimout("document.location.href='new_page.html'", 1000);
但是,在 Internet Explorer 中,这会立即发生,而不是 1 秒后。有什么想法吗?
我试图通过 javascript 在 1 秒后将用户重定向到不同的页面:
setTimout("document.location.href='new_page.html'", 1000);
但是,在 Internet Explorer 中,这会立即发生,而不是 1 秒后。有什么想法吗?
您引用的内容应该可以工作,除了几个小错误:
您在 setTimeout 中缺少“e”
你正在使用document.location
; 它应该是window.location
。
刚刚在 IE8 上测试了它,它按预期等待。您是否在某些事件中执行此操作,无论如何都会使页面重新加载,例如表单的submit
事件?如果是这样,您将需要取消表单提交以避免取代您的setTimeout
代码。你如何做到这一点取决于你如何挂钩事件(例如,如果你使用 DOM0onsubmit="..."
处理程序,使用return false;
; 如果你使用更现代的东西,你想要event.preventDefault()
; 如果你使用 jQuery、Prototype 或其他一些库,请检查他们的文档以了解防止事件默认操作的正确方法)。
现在,尽管它按照您的方式工作,但通常最好使用函数而不是字符串中的代码来执行此操作,例如:
setTimeout(function() {
window.location.href = 'new_page.html';
}, 1000);
但无论哪种方式都应该有效。
将其包装在一个函数中。
setTimeout( function() { location.href = 'new_page.html'; }, 1000 );
请注意,如果您总是在页面加载时这样做,那么您应该真正使用元刷新标签。
<meta http-equiv="refresh" content="1;url=new_page.html">