我有以下代码,应将标签更新为“ please wait ..”,然后运行一个函数,然后再次更新标签以表示已完成:
<asp:Button ID="Button1" runat="server" Text="Upload"
onclientclick="document.getElementById('errorMessage').innerText='Please Wait...';"
onclick="Button1_Click" />
在IE中可以正常工作,但在Firefox中则不能。
当我在Firefox中运行它时,标签不会更改,直到过程完成。
有没有办法在运行C#函数之前强制javascript更新页面?
最佳答案
innerText
属性是Internet Explorer的专有功能。在Firefox和其他DOM兼容浏览器中,使用textContent
(link)。
以下代码将测试浏览器支持哪个属性,并使用适当的属性:
var node = document.getElementById('errorMessage');
var errorMessage = 'Please Wait...';
if (typeof node.innerText !== 'undefined')
node.innerText = errorMessage;
else
node.textContent = errorMessage;
如果您的站点将包含大量JavaScript,则强烈建议您使用第三方库(例如jQuery)来为您解决这些浏览器不兼容的问题。
关于c# - IE和Mozilla Firefox之间的Javascript行为差异?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2022457/