Javascript 装载机不在IE中工作

Javascript 装载机不在IE中工作,javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,我正在使用一个ajax加载程序gif,当用户单击按钮时,我试图显示它(在等待gif显示的响应时) 在Chrome和FireFox中一切正常,但在IE上进行测试时,一切都会中断 Html <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="ShowLoading()"/> <div id="blockScreen" class="blockScreen" style="

我正在使用一个ajax加载程序gif,当用户单击按钮时,我试图显示它(在等待gif显示的响应时)

在Chrome和FireFox中一切正常,但在IE上进行测试时,一切都会中断

Html

 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="ShowLoading()"/>

 <div id="blockScreen" class="blockScreen" style="display:none; width:100%; text-align:center;" >&nbsp;</div>
 <img src="Images/ajax_loader.gif" style="display: none;"/>
错误

错误:“ShowLoading”属性的值为null或未定义, 不是函数对象


我已尝试将代码剥离到最低限度,但错误仍然存在。为什么IE中会出现这种情况?

我猜您的html底部有脚本块,这意味着解析onclick属性时该函数不存在。下面是一个在IE中工作的示例(用IE11测试)

请注意,如果将脚本块的位置更改为类似“ondomready”的内容,则会出现未定义的函数错误

<head>
    <script>
    function ShowLoading() {
        ...
    }
    </script>
</head>
<body>
     <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="ShowLoading()"/>

     <div id="blockScreen" class="blockScreen" style="display:none; width:100%; text-align:center;" >&nbsp;</div>
     <img src="Images/ajax_loader.gif" style="display: none;"/>
</body>

函数ShowLoading(){
...
}

IE 11的问题是,在分配src属性之前,必须将img对象添加到页面中

范例

这在IE11中失败了

var img = New Image()
img.src = 'test.gif'    
document.body.appendChild(img);
试一试


哪个版本的IE被破坏了?请尝试在函数末尾加上分号,您是否确定Images不是imagesIE 11,10中也有同样的问题。您是否在函数外部使用名称“ShowLoading”作为变量?错误消息解释说它无法识别“ShowLoading”作为函数。没有任何jQuery代码
:/
我理解您的答案,目前我的页面正在使用母版页,我相信这可能会抵消我的一些javascript,我将制作一个独立的aspx页面,而不是使用母版页(因为它是一个单页的应用程序,所以请重新整理代码。如果这样做有效,我肯定会将您的答案标记为正确。
var img = New Image()
img.src = 'test.gif'    
document.body.appendChild(img);
var img = New Image();
document.body.appendChild(img);
img.src = 'test.gif'