【发布时间】:2012-08-26 06:07:14
【问题描述】:
我在 Internet Explorer 中遇到问题,它在 Firefox 中运行良好。
我有一个 java 脚本函数,用于更新在 AJAX 函数之前调用的 UI(屏幕内容)。但在使用警告框提示之前,它不会更新 UI。如果没有警告框,它不会在 AJAX 功能之前更新 UI。即使在 AJAX 函数之前调用它也会在 AJAX 函数之后更新 UI
如果我使用以下代码,UpdateUI() 在 AJAX 函数调用之前根本不会更新 UI,它会在 AJAX 函数调用之后更新 UI。我希望它在 AJAX 函数调用之前更新 UI(实际上我在 AJAX 调用之前显示加载栏)
UpdateUI(); // java script function, it just updates inner HTML of a DIV
// AJAX function call here with Async = false
但如果我使用以下代码,UpdateUI() 会在 AJAX 函数调用之前更新 UI,但此方法包含警报提示。我不想使用警报
UpdateUI(); // java script function, it just updates inner HTML of a DIV
alert('hellow');
// AJAX function call here with Async = false
它在 Firefox 中运行良好,但在 Internet Explorer 8 中却不行
【问题讨论】:
-
如果您正在执行同步 AJAX 调用,则浏览器可能会阻塞,直到它完成。这就是同步 AJAX 调用是个坏主意的原因之一。
-
但是为什么它在 Firefox 中运行良好
-
Firefox 是一个不同的浏览器,我猜它的工作方式是 Mozilla 人希望的。
-
抱歉,不知何故错过了您的请求是同步的。检查this bug report 以获得解释(这与@AshwinPrabhu 给出的答案非常接近);是的,它是 jQuery 的,但更多的是关于 IE7/8 的行为。
标签: javascript ajax internet-explorer user-interface