加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

只有在使用AJAX的Internet Explorer中使用alert()时,Javascript

发布时间:2020-12-16 02:54:34 所属栏目:百科 来源:网络整理
导读:我在Internet Explorer中遇到问题,它适用于Firefox. 我有一个java脚本函数来更新在AJAX函数之前调用的UI(屏幕内容).但在使用警报框提示之前,它不会更新UI.没有警报框,它不会在AJAX功能之前更新UI.即使在AJAX函数之前调用它,它也会在AJAX函数之后更新UI 如果
我在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中运行良好

解决方法

当存在活动的JS线程时,浏览器通常不会重排(刷新)UI.在执行重排之前,它会等待从ts事件队列中刷新所有事件.可以把它想象成一个单一的线程循环,浏览器必须在其中执行所有事件.

回流通常在某些情况下获得最低优先级,但是您可以通过请求DOM元素(如getComputedStyle或offsetX / y等)上的某些属性来强制浏览器重排.基本上任何要求浏览器布局UI以响应的请求都将执行重排.

This是我在遇到类似问题时发现的最好的文章.

我可以建议的最简单,最简单的技巧是将代码分成两个方法,并在0mills之后调用需要在超时中进行事先重排的方法.这使浏览器在调用method2之前有一些喘息的机会来执行重排.这与您尝试并发现有效的alert()技巧完全相同.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读