我可以在移动浏览器中使用javascript计时器吗?

Can I use javascript timer in a mobile browser

本文关键字:javascript 计时器 移动 浏览器 我可以      更新时间:2023-09-26

我在移动浏览器中使用IE。 我向按钮添加一个javascript函数,当用户单击它时,它会说"hello"。

这行得通。

然后我添加一个计时器。

在桌面浏览器上,它可以工作。

它在我的移动浏览器上不起作用。

这是我的代码。 (注意我刚刚尝试在swapImages()中放置警报("hi"),但这也没有用。

 var div = document.getElementById('divImage');
        var imgCached = document.getElementById('imgCached');
        document.execCommand("BackgroundImageCache", false, true);
        function OnImgLoaded() {
          img1.src = imgCached.src;
        }
        var interval = 30;
        var _timer;
        var _index = 0;
        function test() {
            _timer = setInterval('swapImages()', interval);
        }
        function swapImages() {
            imgCached.onload = OnImgLoaded();
            imgCached.src = 'my server url~/' + '0000' + _index + '.jpg';
            _index = _index + 1;
            if (_index == 10) {
                _index = 0;
                clearTimeout(_timer);
            }
    }

更新!!我一直在Chrome桌面上运行它,而不是IE。我正在 IE 桌面上对其进行测试。我得到相同的错误,所以现在我可以调试了。

错误是这一行:img1.src = imgCached.src;

它告诉我:无法获取未定义或空引用的属性"src"

我已将代码更改为:var imgLive = document.getElementById('imgLive');(我已重命名 img 控件)

function OnImgLoaded() {
imgLive.src = imgCached.src;
}

我得到同样的错误。

我在源代码中查找,控件的名称正确。

谢谢

我不确定以下行在您的手机中是否有效:

imgCached.src = 'http://127.0.0.1/Cloud/test/' ...

计时器成功执行,但图像未获得正确的 SRC,因为设备未在其上运行 Web 服务器(除非您配置了一个服务器)。

为了回答您的主题问题,是的 - 您可以在移动浏览器中使用 JavaScript 计时器,就像桌面浏览器一样。

希望有帮助。

首先:你有没有调用过启动计时器的test函数?

第二:也许它真的document.execCommand("BackgroundImageCache", false, true),失败了 - 它可能没有在您正在使用的IE的移动版本中启用。您可以使用queryCommandEnabled函数检查它是否已启用,在此处查看更多信息:http://msdn.microsoft.com/en-us/library/ie/ms536676(v=vs.85).aspx