Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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
opera mini和其他移动浏览器的JavaScript设置间隔_Javascript_Html_Mobile_Opera Mini - Fatal编程技术网

opera mini和其他移动浏览器的JavaScript设置间隔

opera mini和其他移动浏览器的JavaScript设置间隔,javascript,html,mobile,opera-mini,Javascript,Html,Mobile,Opera Mini,我在我的网站中使用setInterval功能时遇到问题。下面是我代码的一小部分。我基本上是想把计数增加1,然后在屏幕上打印出来 <div id="test"></div> <script> var count = 0; setInterval(function() { document.getElementById('test').innerHTML=count; count++; }, 1000); </script>

我在我的网站中使用
setInterval
功能时遇到问题。下面是我代码的一小部分。我基本上是想把计数增加1,然后在屏幕上打印出来

<div id="test"></div>

<script>

var count = 0;
setInterval(function() {
    document.getElementById('test').innerHTML=count;
    count++;
}, 1000);


</script>  

var计数=0;
setInterval(函数(){
document.getElementById('test').innerHTML=count;
计数++;
}, 1000);

Edit:我没有在代码中使用
jquery
,因为从上面可以清楚地看到这一点。然而,我在这里面临的问题是,当我在移动设备的opera mini中打开html时,它显示的计数是1到3或1到4。它不会继续。我有一个外部url。请在移动设备中打开url并查看问题

我认为调用beddingnumber时DOM没有完全加载。尝试将其包装到DOM就绪事件侦听器中

  var count = 0;
  document.addEventListener("DOMContentLoaded", function(event) {
setInterval(function() {
    document.getElementById('test').innerHTML=count;
    count++;
}, 1000);
  });

Opera Mini实际上并不执行javascript:

它通过使用基于代理的体系结构来实现这一点。来自用户手机的请求通过运营商的互联网网关进入Opera的转码服务器。然后,这些服务器将请求转发到服务器。 Opera Mini请求通过Opera的服务器。
服务器按正常方式发送响应—当Opera代码转换服务器接收到响应时,它们解析标记和样式,执行JavaScript,并将数据转换为Opera二进制标记语言(OBML)。Opera Mini在用户设备上逐步加载此OBML数据。可以将其视为文档状态的交互式快照,其形式类似于PDF

您应该阅读本页有关此功能的内容:尤其是有关
setInterval
setTimeout
功能的内容

这意味着,如果使用setInterval调用函数,将最多调用n次,其中n是超时除以间隔的商。如果间隔为1000毫秒,则在暂停整个脚本(5000÷1000=5)之前,函数最多执行五次(在较新版本的Opera Mini中)。如果时间间隔为5000毫秒,则在暂停之前将只执行一次


这对于移动浏览器来说是一个例外。正如我读到的,它意味着快速有效。因此,如果脚本需要花费大量时间,它会被浏览器本身打断。这是opera mini的一项功能。

在opera mini中浏览网页时,JavaScript由代理服务器(opera服务器)处理,仅在设备上呈现


在将页面发送到移动设备之前,将触发其onLoad事件,并且允许所有脚本最多执行两秒钟setInterval和setTimeout函数被禁用,因此设计为在执行前等待一定时间的脚本将根本不会执行

代码工作正常您面临的问题。请提一下。这将有助于解决您的问题。它是否是移动浏览器并不重要。应该平等地工作。Besauce jQuery也在移动设备上使用。也许这是一个普遍的问题?但我看不到,因为你的描述是中级的。@Manwal它在笔记本电脑上运行良好,而不是在手机上;至少对我来说是这样。@ketan添加了描述和测试(外部)url。请在移动设备中打开url。您的解决方案没有帮助。