警告对话框不会在Firefox上使用超时阻塞UI
alert dialog not blocking UI on Firefox using a timeout
我已经搜索过了,但是没有找到任何关于Firefox中这种特定行为的文档。
如果我将alert方法的调用包装在Firefox中的超时或间隔函数中,则UI不会被阻塞。在我测试过的所有其他浏览器(chrome/IE/safari)中,出现模态警告对话框的预期行为。
见DEMO(在任何浏览器中测试,然后是Firefox)
setTimeout(function () {
alert("If you wait enough in Firefox, the UI is updated!");
}, 0);
是否有关于此特定行为的文档?
据我所知,没有呈现标准这样的东西。因此,你不应该期望所有的浏览器呈现相同。
预期行为是你期望的,因为你在其他3个浏览器中观察到它。
我引用了bobince的话:
总之,JavaScript在大多数情况下对大多数用户来说是有一个严格的事件驱动的单线程执行。实际上,它没有这样的事情。目前尚不清楚这其中有多少只是一个bug多少是刻意设计的,但如果你写的是复杂的应用程序,特别是跨窗口/框架脚本程序,有只要有机会,它就会咬你一口——而且是断断续续的、难以调试的方式。
从这个主题:JavaScript保证是单线程的吗?
相关文章:
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- jQuery UI自动完成突然停止工作
- 如何使用skip参数使用angular ui引导进行服务器端分页
- AngularJS UI路由器不能像ng路由器那样工作
- 我可以更改剑道UI网格吗's的外键值
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- 停止jQuery UI滑块移动超过给定值
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- Jquery UI自动完成无法工作
- 语义ui如何使用javascript启用或禁用下拉列表
- jquery ui滑块上的滑块值
- jQuery UI可排序-多连接列表拖动
- 如何在Angular UI网格中选择下一行
- 对具有ui typeahead的对象中的值执行orderBy
- 使用优化器在慢速连接上加载main.js时需要js超时
- AngularJS ui路由器html5模式中断路由
- EJS中的Angularjs-Ui路由器参数
- AngularJS$超时是't在计算值之前等待UI路由器完成渲染
- 警告对话框不会在Firefox上使用超时阻塞UI