【问题标题】:JavaScript setInterval for opera mini and other mobile browsersOpera mini 和其他移动浏览器的 JavaScript setInterval
【发布时间】:2014-12-26 04:46:51
【问题描述】:

我在我的网站中使用 setInterval 函数时遇到问题。我在下面有一小部分代码。我基本上是在尝试将计数增加 1 并将其打印在屏幕上。

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

<script>

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


</script>  

编辑:我没有在代码中使用jquery,因为从上面应该很清楚。但是我在这里面临的问题是,当我在移动设备中打开 opera mini 中的 html 时,它显示的计数是 1 到 31 到4。它不会继续。我有一个外部网址。请在移动设备中打开网址并查看问题。 http://fundoophoto.com/raman/Test/

【问题讨论】:

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

标签: javascript html mobile opera-mini


【解决方案1】:

Opera Mini 并不真正执行 javascript:

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

您应该阅读有关此功能的此页面:https://dev.opera.com/articles/opera-mini-and-javascript,尤其是有关setIntervalsetTimeoutfunctions 的this section

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

【讨论】:

    【解决方案2】:

    这对于移动浏览器来说是一件特别的事情。当我读到here 时,它意味着快速有效。因此,如果您的脚本需要很长时间,它会被浏览器本身中断。这是 Opera mini 的一个特点。

    【讨论】:

      【解决方案3】:

      我认为调用 yourbeddingnumbering 时 DOM 未完全加载。尝试将其包装在 DOM 就绪事件侦听器中。

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

      【讨论】:

      • 您的解决方案没有帮助。
      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-13
        • 2011-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多