我收到此错误:“TypeError:Window.setTimeout的参数1不是对象。”使用下面的代码。它适用于其他浏览器和早期版本的Firefox。有什么想法吗?
<SCRIPT LANGUAGE=JAVASCRIPT>
window.setTimeout("Advance()", 0, "JAVASCRIPT");
function Advance()
{
location.replace('iWelcome');
}
</SCRIPT>
感谢 CLEM
答案 0 :(得分:1)
不确定他们为什么要进行更改,但现在看来,当您将额外的参数传递给setTimeout
时,如果您为第一个参数提供了字符串而不是函数,则会抛出错误
这是有道理的,因为除非他们试图解析字符串,否则他们无法将"JAVASCRIPT"
传递给"Advance()"
。
要解决此问题,请删除"JAVASCRIPT"
参数(因为您还没有使用它):
setTimeout("Advance()", 0);
或传递一个函数,无论如何都是一个更好的主意。
setTimeout(function(x) {
Advance(x);
}, 0, "JAVASCRIPT");
或者我猜你可以直接将"JAVASCRIPT"
编码到调用中,如果确实你正在使用它,并坚持传递一个字符串。
setTimeout("Advance(\"JAVASCRIPT\")", 0);