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

时间:2013-10-17 10:01:42

标签: javascript mobile timer

我在移动浏览器中使用IE浏览器。我将一个javascript函数添加到一个按钮,当用户点击它时会显示'hello'。

这很有效。

然后我添加一个计时器。

在桌面浏览器上运行。

它无法在我的移动浏览器上运行。

这是我的代码。 (注意我刚刚尝试发出警告('hi');在swapImages()中也没有用。

 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);
            }
    }

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

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

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

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

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

我得到了同样的错误。

我查看Source并且控件正确命名..

由于

2 个答案:

答案 0 :(得分:2)

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

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

计时器成功执行,但由于设备没有运行Web服务器,图像无法获得正确的src(除非您配置了一个)。

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

希望有所帮助。

答案 1 :(得分:0)

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

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