Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firefox中的Settimeout函数似乎不起作用_Javascript - Fatal编程技术网

Javascript Firefox中的Settimeout函数似乎不起作用

Javascript Firefox中的Settimeout函数似乎不起作用,javascript,Javascript,有没有办法让下面的工作顺利进行 function TimerEvent() { TIMER_OBJ = setTimeout('Ajaxsessioncheck();', '<%=Timer%>'); } 函数TimerEvent() { TIMER_OBJ=setTimeout('Ajaxsessioncheck();',''); } 我在onload事件中调用此函数,但在Firefox中时间已过时,它没有调用Ajaxsessioncheck函数。在IE和Chr

有没有办法让下面的工作顺利进行

function TimerEvent()
{

      TIMER_OBJ = setTimeout('Ajaxsessioncheck();', '<%=Timer%>');

}
函数TimerEvent()
{
TIMER_OBJ=setTimeout('Ajaxsessioncheck();','');
}
我在onload事件中调用此函数,但在Firefox中时间已过时,它没有调用Ajaxsessioncheck函数。在IE和Chrome中工作良好


谢谢你抽出时间陪我。。我把代码改成了整数,现在我有一个不同的问题。在Ajaxsessioncheck()函数中,我将从Firefox调用一个JSP页面,但在Firefox中没有得到响应

不应将第二个参数作为字符串传递

   TIMER_OBJ = setTimeout('Ajaxsessioncheck();', <%=Timer%>);

注:在不使用关键字
var
的情况下声明变量会导致变量泄漏到全局范围。我不确定您是否意识到这一事实。

您不应该将第二个参数作为字符串传递

   TIMER_OBJ = setTimeout('Ajaxsessioncheck();', <%=Timer%>);
注:在不使用关键字
var
的情况下声明变量会导致变量泄漏到全局范围。我不确定您是否意识到这一事实。

您已将
'
指定为字符串(用单引号表示),其中它应该是整数,如下所示:

还应将第一个参数指定为函数引用而不是字符串,因此最终输出为:

setTimeout(Ajaxsessioncheck,)

您已经将
''
指定为字符串(用单引号表示),其中它应该是一个整数,如下所示:

还应将第一个参数指定为函数引用而不是字符串,因此最终输出为:

setTimeout(Ajaxsessioncheck,)

''是一个字符串-它应该是以毫秒为单位的整数

几乎所有以X开头的问题在Y中都不起作用,这归结为浏览器实现的差异。类似 document.getElementById在firefox中不起作用并且元素有名称但没有ID。在IE中起作用但在Fx中不起作用

''是一个字符串-它应该是以毫秒为单位的整数

几乎所有以X开头的问题在Y中都不起作用,这归结为浏览器实现的差异。类似

document.getElementById在firefox中不起作用并且元素有名称但没有ID。在IE中起作用,但在Fx中不起作用

它起作用,请向我们展示您的代码。是什么让您认为它不起作用?你有没有一个代码示例显示它失败了?当然有。正确使用它。另外:给我们一个代码。如果这里有人想知道为什么初学者将字符串传递到setTimeout函数,而不是一个正确的函数引用,请问一个适当的问题(给我们一些代码或细节),这可能是因为愚蠢的W3学校
:(
它确实有效,请向我们展示您的代码。是什么让您认为它不起作用?您有没有显示它失败的代码示例?当然有。正确使用它。另外:请向我们提供代码。请提出适当的问题(提供一些代码或详细信息)如果这里有人想知道为什么初学者将字符串传递到setTimeout函数中,而不是一个正确的函数引用-可能是因为愚蠢的W3学校
:(
这与此无关。回调部分,我没有注意到您更改了超时部分。如果您指定了错误,这个答案会更好;您更改了哪个部分来修复问题,以及更改了哪个部分只是为了使代码“更好”@Alin:啊,我明白了-我以为我遗漏了什么!是的,我在更改之前提交了,然后立即更新(因此我想答案上没有“编辑”)@Tomalak:同意,但午餐正在呼叫-现在更新。这与此无关。回调部分,我没有注意到你更改了超时部分。如果你指定了错误,这个答案会更好;你更改了哪个部分来修复问题,以及更改了哪个部分只是为了让代码“更好”@Alin:啊,我明白了-我以为我遗漏了什么!是的,我在更改之前提交了,然后立即更新(因此我想答案上没有“编辑”)@Tomalak:同意,但午餐正在呼叫-现在更新。@根据我的经验,settimeout句柄应该在全局范围内,除非您需要setter/clearmember@mplungjan为什么?根据我的经验,在大多数情况下,除了单个名称空间之外,任何东西都不应该在全局范围内。当然,您需要一些方法来访问和处理这个计时器。是的,就像我建议过。但这对大多数人来说太糟糕了:)不是所有人都是纯粹主义者;@nplungjan不,全局变量的数量应该保持在最小。没有理由让计时器成为全局变量。@Šime在我的书中没有理由添加更多函数来处理页面上的单个setTimeout。我声明了一个
var tId=“”
在我需要时显示在我的页面顶部。但是,是的,您和通配符都是正确的。如果可以,我会将注释修改为setTimeout处理程序,它应该很少/永远不会显示在本地scope@wild根据我的经验,settimeout句柄应该在全局范围内,除非您需要setter/clearmember@mplungjan为什么?根据我的经验,在大多数情况下都没有除非单个名称空间应该在全局范围内。当然,您需要一些方法来访问和处理此计时器。是的,正如我所建议的。但这对大多数人来说太不合适:)不是所有人都是纯粹主义者;)@nplungjan不,全局变量的数量应该保持在最小。计时器没有理由是全局变量。@Šime在我的书中没有理由添加更多函数来处理页面上的单个设置超时。当我需要时,我会在页面顶部声明一个
var tId=“
”。但是是的,你和通配符都是正确的。如果可以,我会修改setTimeout处理程序的注释,它应该很少/永远不会在本地范围内