Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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 android webkit中未调用setTimeout_Javascript_Android - Fatal编程技术网

Javascript android webkit中未调用setTimeout

Javascript android webkit中未调用setTimeout,javascript,android,Javascript,Android,在我的安卓手机(2.1)上,当手指按住触摸屏一段时间时,我看到setTimeout出现了一种奇怪的行为 这段非常简单的代码实际上工作得很好(每秒调用1次),直到我滚动窗口一段时间(2-3秒就足够了),当它停止被调用时 $(document).ready(function(){ spam(); }); function spam(){ console.log("cia") setTimeout(spam, 1000); } 我也有同样的问题 解决方案是将被调用函数定义为

在我的安卓手机(2.1)上,当手指按住触摸屏一段时间时,我看到setTimeout出现了一种奇怪的行为

这段非常简单的代码实际上工作得很好(每秒调用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();
});

对我来说,瓦里奥特的回答不起作用。。。在我用于测试(运行v2.something)的Android手机上,唯一能让setTimeout正常工作的方法是使用以下符号:

function foo() {}
window.setTimeout(foo, 200);

这看起来很奇怪,只是传递了一个函数的名称,但经过数小时的尝试,这是它工作的唯一方式。

我以前在设备上进行一些开发时遇到过这个问题,但这两种解决方案都不适合我

从我所做的阅读来看,有充分的证据表明确实发生了这种情况,但似乎没有一致的解决方法

对我有效的方法是关闭我关闭测试站点的窗口,清除缓存,退出浏览器,然后打开任务管理器并关闭进程。当我再次打开我的浏览器并进入我的测试站点时,我原来开始重新使用的标准代码

我唯一的猜测是浏览器本身进入了一种奇怪的状态,它没有运行标准的内置浏览器函数(setTimeout()或setInterval()对我都不起作用,但这两个javascript函数都存在)

我在用运行安卓2.1的三星Galaxy S进行测试,我不知道这是否会对其他人有所帮助,但这对我来说很有用。

试试这个

    function spam(){
        console.log("cia")
        setTimeout("spam()", 1000);
    }
设置超时:

    /**
    @param {String|Function} vCode
    @param {Number} iMillis
    @return Number
    */
    window.setTimeout = function(vCode,iMillis) {};

我尝试了这个,它解决了我的问题

setTimout(function(){aFunction(text);}, 200);

有趣的观察。但具体问题是什么?你在找解释吗?解决方法?将其设置在变量中使其适合我,谢谢!