我已搜索过但无法在Firefox中找到有关此特定行为的任何文档。
如果我在Firefox中的超时或间隔函数内包含对alert方法的调用,则不会阻止UI。在我测试过的所有其他浏览器中(chrome / IE / safari),会出现模式警报对话框的预期行为。
SEE DEMO (test it in any browser, then Firefox)
setTimeout(function () {
alert("If you wait enough in Firefox, the UI is updated!");
}, 0);
是否有关于此特定行为的文档?
答案 0 :(得分:0)
据我所知,没有渲染标准这样的东西。因此,您不应期望所有浏览器都以相同的方式呈现。
预期行为是您期望的,因为您在其他3个浏览器中观察到了它。它毫无意义。
答案 1 :(得分:0)
我在引用bobince:
总之,大多数时候,大多数用户都会看到JavaScript 有一个严格的事件驱动的单线程执行。实际上,它 没有这样的事情。目前尚不清楚这有多少只是一个错误 以及多少刻意设计,但如果你写得很复杂 应用程序,特别是跨窗口/框架脚本的应用程序,有 它有可能咬你 - 并且间歇性地,难以调试 方式。