Javascript没有在IE11中执行

时间:2013-11-20 05:29:11

标签: javascript internet-explorer

我的asp.net标记页面中有这个javascript:

<script type="text/javascript">    
    var _playLiveFeed = false;
    var _frameCounter = 0;

        var PlayLive = function () {
            var 
            timeout,
            delay = 200,
            live = document.getElementById('imgLive'),
            cache = new Image();
            divTest.style.display = 'none';
            imgPlay.style.display = 'none';
            imgLive.style.display = '';
            cache.addEventListener('load', function () {
                live.src = this.src
            }, false);

            return function PlayLiveFeed() {
                alert('hi');
                clearTimeout(timeout);
                (function loop() {
                    _frameCounter++;
                    cache.src = null;
                    cache.src = 'http://www.informedmotion.co.uk/Cloud/LiveXP.ashx?id=' + _frameCounter;
                    if (_frameCounter > 1000) {
                        _frameCounter = 0;
                    }
                    timeout = setTimeout(loop, delay);
                })();
            };
        } ()           
</script>

在同一页面上,我有一个声明为:

的按钮
  <asp:ImageButton ID="btnLiveFeed" runat="server" ClientIDMode="Static" ImageUrl="~/Images/flash_video_encoder.png" OnClientClick="PlayLive();return false;"/>

在Chrome中,我的测试线为“hi”。

在IE11中我收到错误:

'对象'是预期的。

如果我只对点击事件本身使用警告('hi'),它将显示'hi'。

如果我将警报('hi')放入新功能中:

function PlayLive2()
       {
       alert('hi');
       }

它也有效。

所以,它必须归结为PlayLive对象的声明。有什么想法可以在Chrome中运行而不是IE11吗?

感谢

0 个答案:

没有答案