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