setTimeout在android webkit中未被调用
在我的android手机(2.1)上,当手指按住触摸屏一段时间时,出现setTimeout的奇怪行为。setTimeout在android webkit中未被调用
这很简单,其实代码工作正常(1调用每一秒),直到我滚动了一段时间的窗口(2-3秒就足够了),当它停止被称为
$(document).ready(function(){
spam();
});
function spam(){
console.log("cia")
setTimeout(spam, 1000);
}
我有一样的问题。
解决方案是为我定义被调用函数作为变量,而不是将ist作为参数传递给setTimeout。
试试这个:
var spam = function(){
console.log("cia")
setTimeout(spam, 1000);
}
$(document).ready(function(){
spam();
});
将它设置在一个变量中使它适合我,谢谢! – 2016-10-31 23:34:47
对我来说Varriotts答案没有工作......我能得到的setTimeout Android手机我用于测试的工作(运行v 2.something)是唯一的出路以下符号:
function foo() {}
window.setTimeout(foo, 200);
这看起来奇怪,传递函数只是名字,而是试图围绕小时后,那只是它的工作方式。
以前我曾经在设备上做过这个问题,但是这些解决方案都没有为我工作。
从阅读中,我做了相当充分的文件证明,这确实发生,但似乎没有一致的解决方法。
对我来说有效的是关闭了窗口,让我的测试网站停机,清除缓存,退出浏览器,然后打开任务管理器并关闭进程。当我再次打开浏览器并前往我的测试站点时,我原来的标准代码再次开始工作。我唯一的猜测是浏览器本身进入一些奇怪的状态,它不能运行标准的内置浏览器功能(既没有setTimeout()也没有setInterval()为我工作,但两个javascript函数都存在)。
我正在测试一个运行Android 2.1的三星Galaxy S,我不知道这是否会帮助其他人,但这对我来说很有用。
这确实有助于:) – krzychukula 2012-04-18 13:44:19
试试这个
function spam(){
console.log("cia")
setTimeout("spam()", 1000);
}
的setTimeout:
/**
@param {String|Function} vCode
@param {Number} iMillis
@return Number
*/
window.setTimeout = function(vCode,iMillis) {};
我尝试这样做,它解决了我的问题。
setTimout(function(){aFunction(text);}, 200);
有趣的观察。这个问题具体是什么?你在寻找解释吗?解决方法? – 2010-08-15 18:58:19