0

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

这行得通。

然后我添加一个计时器。

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

它不适用于我的移动浏览器。

这是我的代码。(请注意,我刚刚尝试在 swapImages() 中放置一个 alert('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;
}

我犯了同样的错误。

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

谢谢

4

2 回答 2

2

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

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

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

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

希望有帮助。

于 2013-10-17T10:08:50.960 回答
0

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

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

于 2013-10-17T10:18:12.877 回答