返回列表 发帖

关于那个让浏览器假死的Ajax测试

测试链接:http://forum.maxthon.com/uploads/lockuptest.htm
这个是Maxthon提供的Ajax测试

最近不断有朋友问我,我们为什么不能实现像Maxthon那样的效果,就是测试中每一步都会显示出来,而且可以切换标签
现在的情况是
Maxthon2测试过程正常,而IE7和TheWorld2则表现为假死,当测试完成后才会显示出结果来

今天我们试验了一下代码,这个功能是可以实现的,而且原理也很简单,就是在处理Ajax脚本的接口请求的时候,PeekMessage
响应消息队列中的消息,就不会假死了

附件是从TheWorld 2.0.5.1加上这个代码的版本,目前只支持IE7,IE6我们还没有看,不过暂时也不打算看了,因为PeekMessage改变了消息处理的顺序,如果可以,还是由内核的制作者微软来做这样的改动更好些,这个附件例子只是让大家看到我们也可以实现这个功能,暂时我们不打算在正式版本中加入这个功能,作为外壳浏览器,我们希望还是尽量和IE内核在页面渲染的处理上保持一致

浏览器假死的原因很多,由于程序设计不当造成的死锁应该是最大的问题,当然,我们会一如既往的关注这部分
附件: 您需要登录才可以下载或查看附件。没有帐号?加入 我们

原帖由 viewer 于 2007-7-23 16:07 发表 http://bbs.ioage.com/cn/images/common/back.gif
看了看版本怎么写的是2051.不是2052呢?

哦,搞错了,是从2.0.5.1上改出来的

TOP

急先生你好

请理解大家说话的上下文不同,他们站在解答问题的角度,也只能这样说了,如果让你每天面对各种不确定的问题,相信你也会很烦的,至于措辞不当或者引起你的愤怒,请你多体谅

另外,我仍然要感谢这些朋友在论坛上的发言,即使他们有时会犯错或者措辞不当,但我相信他们对很多人的帮助是实实在在的

TOP

原帖由 急先生 于 2007-7-23 16:15 发表 http://bbs.ioage.com/cn/images/common/back.gif
遗憾啊 我还是 XP、IE6,看来是不能享受到这种不假死的好处了。

请你仔细看一下我的帖子
我说了这个功能我们不打算真正发布,如果你觉得 Maxthon2 这么做效果很明显就去用吧,没关系的,真的

TOP

原帖由 急先生 于 2007-7-23 16:31 发表 http://bbs.ioage.com/cn/images/common/back.gif


我并不是提问要求谁来回答,我是反映2.52的假死问题,希望开发组引起注意。
希望凤凰不要误解。

我引的那段某嘉宾的回复,原帖在这里:

http://bbs.ioage.com/cn/viewthread.php?tid=38886&extra=pa ...

哦,我回帖了

TOP

原帖由 google 于 2007-7-23 16:36 发表 http://bbs.ioage.com/cn/images/common/back.gif
PeekMessage改变了消息处理的顺序 对TW会有什么不利影响?

这样说吧

本来的流程是: A B C D E
A假死,导致BCDE无法处理,只有A完成,才执行BCDE
现在则是在A的时候,处理了BCDE,然后才是A的完成

这到底有什么影响,暂时不好给出结论

TOP

原帖由 byyh 于 2007-7-23 23:27 发表 http://bbs.ioage.com/cn/images/common/back.gif


呵呵,很感谢你说出了我的心里话,不过能说出来不代表理解,谁都知道·是什么,但没有镜子时他不可能认识自己是什么的


byyh, 不要再继续了,急先生后来没说什么了,你又何必继续说一些让人家无法接受的话呢,急先生也是为了theworld更好,大家退一步,不要让人家说我们论坛只会吵架

这件事我也有责任,没有及时看到帖子和解决问题,对不起了二位

TOP

原帖由 mutalisker 于 2007-7-23 20:32 发表 http://bbs.ioage.com/cn/images/common/back.gif
补充几句。主楼的那个ajax测试,是用的xmlrequest的同步模式,同步模式本身就有阻塞当前线程的特点。ajax也可以用异步的模式,这种模式是不可能出现同步模式那种假死的情况的。并且虽然我没有仔细看过,但我相信 ...


嗯,木塔里斯克尔对这部分很有研究,要不是我拦着早做出天大的事了,这次这个功能也是他加的
至于深沉么,他很活泼,绝对不深沉

TOP

虽然可以考虑做个选项 (现在IE6我们也能支持了)
不过真的,现在用同步Ajax的网页很少了,意义不大,而且修改了内核的流程,等于埋下一颗不确定的炸弹

TOP

返回列表