我的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吗?
感谢