Board logo

标题: [已记录]启动时恢复页面的一个大bug [打印本页]

作者: 杀手在线    时间: 2007-1-27 01:27     标题: [已记录]启动时恢复页面的一个大bug

[已记录:B4P4版,描述见#11和#15] - Aycox



如题,bug如下,当这样选择时(不勾“未关闭”,只勾“异常退出”)
显示上次退出时未关闭的页面
显示上次异常退出时浏览的页面
当用系统的任务管理器强制kill进程的时候,再打开则不显示,那个未关闭页面。
我知道是用一个twcache.ini的隐藏文件来实现的,如果正常关闭,该文件跟随进程被删除,如果非正常关闭,该文件不消失,里面记录了关闭时候的网址(呵呵,我还发现只记录http开头的,tw:开头的,比如说设置、上次为关闭页面等,不记录进去,空页面当然也没记录进去),但是用系统的任务管理器强制关闭该程序或杀掉其进程的时候,这很明显应该是“异常退出”啊(我做测试总不能把机子不停的非正常关机吧),且该文件还在,但是再打开,却无该页面出来。如果勾上“未关闭”的页面,则正常。
而且更严重的是,这些个地址还没被记录下来。


反复测试过,在全新的程序下,和自己常用的程序下测试过。这算个大bug吧。

[ 本帖最后由 Aycox 于 2007-1-29 22:37 编辑 ]
作者: 杀手在线    时间: 2007-1-27 10:45

没人看到么?踢起来。绝对是在全新程序和自己常用程序下测试过了。用win系统的任务管理器强制关闭和强制杀进程都试过,就差没去强行关机测试了。不能要求我用这个手段去测试一个浏览器程序吧?(我相信那样和强制杀进程是一回事)如果这都不算非正常关闭/退出,那我不知道啥叫非正常关闭/退出了,假死的时候,不是经常要这样么?唉~~~~~
作者: 杀手在线    时间: 2007-1-27 10:47

如果系统的任务管理器强制关闭程序操作是被程序认为是正常退出,那么好,那就应该记入可恢复页面列表里面供用户恢复!可现在这个也实现不了啊。这岂非咄咄怪事。。。。
作者: fjajie    时间: 2007-1-27 11:57

楼主说得也有些道理呀
作者: 杀手在线    时间: 2007-1-27 15:56

踢起来一下。。。。。。。。。
作者: ggyy    时间: 2007-1-27 17:27

很PF楼主的探索精神!~
赞一个!~~
作者: 寄托天下    时间: 2007-1-28 12:51

这个定义要看开发团队的具体解释,:-)
作者: phoenix    时间: 2007-1-28 19:36

这应该是个bug,争取下版修复
作者: 杀手在线    时间: 2007-1-29 18:47

呵呵,老大,你的beta4的最新预览4版,虽然解决了这个bug,但是又有新的bug啊。

还是这样的设置,即便是全部打开之后,一个个的正常关闭,或者全部关闭,再正常退出程序,下次打开,依然认为你是非正常退出,还是弹出那个“上次退出前您未关闭的页面”。除非,你一个个的点那个选项前面的小叉,把该项删除掉,才行。

这次还是多线程条件下,还不是手动改为单线程下测试的。

另外,http://bbs.ioage.com/viewthread.php?tid=26796&extra=page%3D1这个帖子中的两个问题依然没解决啊。1、直接关闭(正常,且设置不确认)浏览器的时候,依然有帖子再浏览,却记入不了恢复清单。(但是,一次性关闭全部标签却可以记入,实际上,直接正常关闭浏览器与一次性关闭全部标签再关闭程序,应该是等价的,且是一个动作,更简便。总不能说强制要求用户,你必须把标签全部关闭,浏览器成了空页面之后才准关闭程序啊)2、恢复清单中的已恢复的页面,没有从清单中减去,导致恢复页面多了的话,得往后翻页,而不是后面的页面依次顶上来。
作者: 杀手在线    时间: 2007-1-29 18:49

对不起对不起,说错了一点点,第二个功能已经改进了。恢复之后可以顶上来了
作者: 杀手在线    时间: 2007-1-29 19:01

呵呵呵,又用全新的测试了一下。确实还是有新bug。多线程条件(单线程估计更是如此)
情况再复述一下:跟主贴中所述的设置一样,“显示上次退出时未关闭的页面”不打钩;“显示上次异常退出时浏览的页面”打钩!然后强制关闭程序,再打开,出现《上次退出前您未关闭的页面》,点击右边的“全部打开”,再一个个正常关闭,或者右键单击标签栏最右边那个×号图标。再正常关闭程序。下次再打开,呵呵,还是出现“上次退出前您未关闭的页面”,不论你怎么正常的退出下次都会再出现这个页面。除非你在“上次退出前您未关闭的页面”中,一个个叉掉这些个页面。或者,你把那个“上次退出时未关闭的页面”的选项打上钩,也行。
但是,说实话,那要是这样设置的话,根本就不需要设两个选项啊,正常退出和非正常退出都是退出,只要是退出,就下次显示这个“未关闭页面”啊,呵呵。

还有就是那个问题,依然没解决。不确认,直接关闭浏览器时正在浏览的页面,记入不了恢复列表!


[ 本帖最后由 杀手在线 于 2007-1-29 19:03 编辑 ]
作者: mutalisker    时间: 2007-1-29 19:44

楼上的问题我解释一下

TW的上次未关闭的页面,是允许程序运行的任何时候访问的。不一定是程序刚启动的时候。这样就造成了如果连续两次崩溃的时候,看上去好像列表中有了些第一次崩溃的时候的项。但当程序崩溃的时候,保存的信息是只怕少不怕多的。要实现楼主说的那种功能,需要每次关闭一个页面后都把ini保存一边,这样的性能是我们不希望看到了。虽然现在这个样子不是很合理,但是毕竟是多了信息,比少信息要好些,也毕竟连续崩溃几次这样的事情不多见不是?
作者: 杀手在线    时间: 2007-1-29 19:58

很好,有管理员来解释(管理员都是开发组的吧?)。C版最近头昏眼花,看不了比较密集的文字,可能他没怎么写过程序代码,受不了这么区区几行字。所以我每次要么专门去点回帖,或者快速发帖之后,再重新编辑一下,调整字号,彩色关键词,以便C版审查。你们管理员去论坛后台调整一下嘛,把默认字号变大点嘛。

言归正传。我说的是,这次的bug不是“连续多次崩溃”,而是一次崩溃之后,正常重现了页面,也都正常关闭了标签,再正常得不能再正常的关闭了程序。但是,下次它依然还是“认为”你是非正常的关闭了程序,只要你没把那个“显示上次退出时未关闭的页面”打钩。注意,是程序它固执的“认为”你一直在异常退出,而不是你真正的异常退出了。

不知道我这次说明白了没?
作者: 一朵白云飘啊飘    时间: 2007-1-29 20:33

我怎么觉得,杀掉进程是最“不异常”不过的关闭了?
这个跟俺用鼠标点右上角那个叉叉,都是俺充分发挥了主观能动性关掉这个程序的结果来着。
异常关闭不是指的我没想它关它自己关掉了吗?嘿嘿
作者: Aycox    时间: 2007-1-29 21:09

B4P4(01.29)版本问题(从#9楼开始)

楼主的说的情况,经反复测试,的确如此。

选项:
×  显示上次退出时未关闭的页面
√  显示上次异常退出时浏览的页面
√  上述页面采用列表方式显示

步骤:
新开TW程序并打开几个网页 >  打开任务管理器并中止TW进程(模拟异常) > 再次打开TW会出现上次未关列表

问题:
此后,在每次正常退出TW,再次启动时始终还是显示有这个列表,除非手动删除。

(注:不是两次异常的情况,每次即使打开这个列表项目然后另加开几个页面,再退出,下次仍然仍然显示原来的列表)
作者: mutalisker    时间: 2007-1-30 11:23

已经解决了,辛苦大家仔细测试了
作者: 三月飞絮    时间: 2007-1-30 12:19

to 杀手:
13楼的bug可以这样暂时解决:

将TW配制文件里面的
[LastUrl]下的和[RecentUrl]的网页连接删除就好拉

解决方法参考 http://bbs.ioage.com/viewthread.php?tid=26983&extra=page%3D2
作者: TiGer-X    时间: 2007-1-30 15:37

是的,这问题跟我这问题大致是一样的,在 TW2 B4 P4 里出现,希望管理团队解决。

http://bbs.ioage.com/viewthread.php?tid=26983
作者: caten    时间: 2007-1-30 15:41

原帖由 Aycox 于 2007-1-30 08:05 发表
谢谢反馈,楼主看看是否与此贴相同:http://bbs.ioage.com/viewthread.php?tid=26813&extra=page%3D2,是则已记录。

作者: 杀手在线    时间: 2007-2-9 04:15

原帖由 mutalisker 于 2007-1-30 11:23 发表
已经解决了,辛苦大家仔细测试了

呵,恕我直言,还是没解决,反而有了新的bug。我们不辛苦,您(们)可能还得继续辛苦了

是这样,我看了这几天,有人反映了同样的情况。讨论之下,您们采纳了一个建议,在《浏览设置》的“基本设置”项下,加多了一个开关选项———退出浏览器时如果有多个打开的页面则提示确认。(我是下载了特别为cookie问题而单独出的那个无版本编号的TW程序中测试到的,该“特别补丁版”好像是比B4P4多了12K左右,除了解决cookie问题之外,还解决了一些问题,比如一次异常退出后即便正常退出,依然恢复列表等bug,即我主贴反映的那些个问题。但是没解决完全。)

一、如果退出时只有一个页面,则不弹出确认。这应该也算个小bug。之所以加这个开关选项,需要用到的人,不论退出时是在浏览1个页面还是100个页面,对其来说重要性都是一样的,对吧?如果,这个不算小bug————姑且就算是严格执行提示语吧,呵呵,其实这个提示语本来就不应有“多个”这词,因为其对应的是在常规选项中的打开浏览器时,恢复页面中的上一次退出时未关闭的页面,那个选项里面,可没有强调是关闭的一个还是多个啊————那么,在下面这个bug存在的情况下,这个就应该算bug。
二、想来,加多这么一个开关,应该是起到这个作用,就是直接退出浏览器时有页面正在浏览(不管是多个还是一个),提示用户关闭标签再退出,是吧?也就是说,这个可以起到和下列动作一样的效果:右键单击标签栏最右边的按钮关闭全部页面之后单击最左上角的叉叉关闭浏览器。可是我还是在反复测试后失望的发现,依然无法记忆住关闭浏览器之前的页面!也就是说,即便你选择了让程序来提醒你,程序也提醒了,但是实际上你下次打开浏览器,这次跟随程序一起关闭的页面你还是无法恢复。你还是得像我上面说的那样,分两步操作(其中一步还是一个不那么习惯的右击)才行。恕我直言,要是这样的话,那加这个开关选项,纯属无用。粗俗点说,就是那什么什么脱什么什么放的。。。嘎嘎

不要嫌我罗嗦和重复,我真的是搞不明白,能点击一下完成的事为什么就一定要逼着用户去走两步,然后又产生这些个麻烦事,于是反复改代码,越改越出新bug。

还是那个话,关于这个恢复页面的功能,TW真的是还有很大改进的余地和提升的潜力。不嫌罗嗦的话,再重复两个建议:1、争取能记忆住恢复页面的浏览历史,也就是恢复之后还可以前进后退(这个,凤凰老大好像说过以后会考虑);2、目前来说,应该除了消除上面的bug之外,还得能按可恢复的列表里的页面连续点击连续恢复,而不是浏览器关闭一次,则之前的列表就只是摆设了。可能有人要说,不要把所有任务都交给恢复功能,其实我可以举个很简单但是很常见的例子来说明这个功能的必要性。第一次浏览了20个页面,第二次浏览了10个页面,第三次浏览了5个页面,第四次浏览了2个页面,差不多就这样安排吧。我们要恢复,只能连着单击两下恢复最后一次浏览的2个页面,再往前恢复,则需要右键单击在列表中去一个个的恢复了。如果要恢复第一次浏览的20个页面,那就多出了整整一倍的操作量,对吧?还是右击这样的操作。再说得稍微极端点,要是想恢复之前30~40页,那还不止哦,还得加上往下滚动列表的点击次数,这不麻烦么?

可能还会有人说,这些功能无非是那什么什么浏览器做到的,我这么说是不对滴,什么什么别的浏览器只能做参考或借鉴,但不是什么衡量好坏的标准………类似这样的话,我无语。。。。。。IT的世界里,能称之为业界标准的东东委实不多,因此,什么“借鉴”、“参考”这些个词,几乎对什么IT产品都适用了。如果你不想做成精品或者把自己做成事实上的“标准”的话,那么,这些个词,确实很有自我宽慰的作用!
作者: rebirth    时间: 2007-2-9 10:56

原帖由 杀手在线 于 2007-2-9 04:15 发表
呵,恕我直言,还是没解决,反而有了新的bug。我们不辛苦,您(们)可能还得继续辛苦了

是这样,我看了这几天,有人反映了同样的情况。讨论之下,您们采纳了一个建议,在《浏览设置》的“基本设置”项下,加多了一个开关选项———退出浏览器时如果有多个打开的页面则提示确认。(我是下载了特别为cookie问题而单独出的那个无版本编号的TW程序中测试到的,该“特别补丁版”好像是比B4P4多了12K左右,除了解决cookie问题之外,还解决了一些问题,比如一次异常退出后即便正常退出,依然恢复列表等bug,即我主贴反映的那些个问题。但是没解决完全。)

以上内容简而言之:开发组辛苦了,我主贴反应的问题貌似没有完全解决。

一、如果退出时只有一个页面,则不弹出确认。这应该也算个小bug。之所以加这个开关选项,需要用到的人,不论退出时是在浏览1个页面还是100个页面,对其来说重要性都是一样的,对吧?插语:怎么样退出TW?因为用户已看到当前页面还主动执行关闭程序。但也可能不可见的页面标签被隐藏,所以有关闭多个则提示。
如果,这个不算小bug————姑且就算是严格执行提示语吧,呵呵,其实这个提示语本来就不应有“多个”这词,因为其对应的是在常规选项中的打开浏览器时,恢复页面中的上一次退出时未关闭的页面,那个选项里面,可没有强调是关闭的一个还是多个啊————那么,在下面这个bug存在的情况下,这个就应该算bug。
那里强调的是“上一次退出时未关闭的页面”,不管一个还是多个,包含全部符合“未关闭的页面”条件的页面

二、想来,加多这么一个开关,应该是起到这个作用,就是直接退出浏览器时有页面正在浏览(不管是多个还是一个),提示用户关闭标签再退出,是吧?
不是的,作用是多个就提示,因为TW有隐藏标签的作用,特别为这个设计的,关闭一个就不必提醒了,因为就算不小心关了,点击一次恢复。
也就是说,这个可以起到和下列动作一样的效果:右键单击标签栏最右边的按钮关闭全部页面之后单击最左上角的叉叉关闭浏览器。可是我还是在反复测试后失望的发现,依然无法记忆住关闭浏览器之前的页面!也就是说,即便你选择了让程序来提醒你,程序也提醒了,但是实际上你下次打开浏览器,这次跟随程序一起关闭的页面你还是无法恢复。你还是得像我上面说的那样,分两步操作(其中一步还是一个不那么习惯的右击)才行。恕我直言,要是这样的话,那加这个开关选项,纯属无用。粗俗点说,就是那什么什么脱什么什么放的。。。嘎嘎
关闭页面和关闭浏览器是两回事,功能不重复,也不等价,虽然看上去效果一样,但恢复“上一次退出时未关闭的页面”只对关闭浏览器有用。此与是否提醒无关,提醒只是为了告知用户此次操作是否执行。

不要嫌我罗嗦和重复,我真的是搞不明白,能点击一下完成的事为什么就一定要逼着用户去走两步,然后又产生这些个麻烦事,于是反复改代码,越改越出新bug。

还是那个话,关于这个恢复页面的功能,TW真的是还有很大改进的余地和提升的潜力。不嫌罗嗦的话,再重复两个建议:1、争取能记忆住恢复页面的浏览历史,也就是恢复之后还可以前进后退(这个,凤凰老大好像说过以后会考虑);
再提也是那句话以后会考虑
2、目前来说,应该除了消除上面的bug之外,还得能按可恢复的列表里的页面连续点击连续恢复,而不是浏览器关闭一次,则之前的列表就只是摆设了。可能有人要说,不要把所有任务都交给恢复功能,其实我可以举个很简单但是很常见的例子来说明这个功能的必要性。第一次浏览了20个页面,第二次浏览了10个页面,第三次浏览了5个页面,第四次浏览了2个页面,差不多就这样安排吧。我们要恢复,只能连着单击两下恢复最后一次浏览的2个页面,再往前恢复,则需要右键单击在列表中去一个个的恢复了。如果要恢复第一次浏览的20个页面,那就多出了整整一倍的操作量,对吧?还是右击这样的操作。再说得稍微极端点,要是想恢复之前30~40页,那还不止哦,还得加上往下滚动列表的点击次数,这不麻烦么?
增强恢复菜单的功能是值得做的,现在浏览器关闭是分界点,请问要实现您这种功能,分界点是什么?您给出分界点来,开发组也就容易做了(简单说:什么是第一次浏览?)

可能还会有人说,这些功能无非是那什么什么浏览器做到的,我这么说是不对滴,什么什么别的浏览器只能做参考或借鉴,但不是什么衡量好坏的标准………类似这样的话,我无语。。。。。。IT的世界里,能称之为业界标准的东东委实不多,因此,什么“借鉴”、“参考”这些个词,几乎对什么IT产品都适用了。如果你不想做成精品或者把自己做成事实上的“标准”的话,那么,这些个词,确实很有自我宽慰的作用! ...总之,事情是一点点完成的,TW是后起之秀,开发组人员不到5人,一些功能大家提了,却仍旧没有实现,有两个可能性:
1.开发组认为有比这更重要的问题要解决,忙不过来,只能暂时搁置
2.开发组功能加上了,但在测试时,发现会因此引来新的明显问题,只能再想新的办法,也暂时搁置了。或者采用另一种操作方法实现,原提的操作就被取代了。


花了N分钟,可能还是没有看懂,呵呵,偶语文真的太差了,看来都还给老师了
作者: 杀手在线    时间: 2007-2-9 12:05

第一次浏览就是现在我打开浏览器,浏览了X个页面,关闭页面,退出浏览器;
第二次浏览就是现在我再打开浏览器,浏览了Y个页面,关闭页面,退出浏览器;
第三次………依此类推

恢复时候,只能连续恢复最近这次浏览所正常关闭的页面。明白没?注意:不能按照整个列表连续点击进行恢复!
即,我要是想恢复第一次浏览的X页面,得右击X次按钮,再单击X次。如果这个第一次恢复的列表在后面,那么,还不止点击2X次了。明白了么?

PS:不是我罗嗦,是这个程序设计成这样啊!“关闭页面,退出浏览器”硬是就非要分两步来表达,死都不让我用一句“直接关闭浏览器”来表达。我就纳了闷了,明明一步可以达到的事,为什么非要强调又强调,这得分两步,中间有个确认与否的事,这两个结果,是不一样的啊。。。。搞不懂怎么想的。

再PS:实在看不懂,就别看了。就当我没事,无聊,灌水,挣分。。。。。当我放了个屁吧。谢谢。
作者: 杀手在线    时间: 2007-2-9 12:10

我实在是搞不懂,下面这个等式是不是成立,普通用户是不是同一个体验。如果不成立,不一样的话,那干嘛设计出这些个选项,让用户无从得知其中还有别有奥妙呢?

关闭所有页面不提示+退出(关闭浏览器)=退出(关闭)浏览器不提示

非要坚持这些个开关选项存在的话,请在各自选项后面加一句解释一下:关闭所有页面(不提示)后面加上“这样可以记忆住关闭页面以供恢复”;直接退出(关闭)浏览器(不提示)后面加上“这样所关闭的页面无法恢复,即便您设置提示”

OK?明白了么?特别是最后一句话,加上的话,看出其中的可笑之处了么?
作者: 杀手在线    时间: 2007-2-9 12:13

我相信,任何一个初用TW浏览器的用户,都会以为我上面那个等式的成立。如果不加提示,告知用户这其中有这样的不同,那么用户丢失了几次页面之后才发现这个奥妙所在,其失望乃至抱怨之心,会否油然而生?
作者: jasonnet    时间: 2007-2-9 12:13

人性化要加強唔,唔,我用新版下載東西,剛彈出下載欄又消失了......又要點一下tw的標題欄才現身
看來開發組新年還繼續辛苦下,加油啊
作者: 杀手在线    时间: 2007-2-9 12:33

看来X、Y这样表达都不行,再具体点:
1、上午我浏览了30个页面,要吃饭了,正常关闭所有页面,关闭浏览器,关机
2、下午我开机,刚打开了一个页面,有急事,关闭页面,关闭浏览器
3、回来,再想一一打开之前这31个页面,对不起,不行。尽管列表里面满满当当的都是网页的名称或地址,但是,那是一些个“半摆设”。你不能单击该按钮连续恢复下去,你得右击一下弹出列表,再单击一下;重复31遍,OK?要是上午浏览的是60个页面,那还不止了,还得往列表下一页去拉,对吧?与连续单击即可顺着列表逐次恢复,且让列表后面的逐个顶上来,不需要再往下一页滚动相比,点击量孰多孰少?简易和方便的程度哪个更好?

我就不说普通用户的使用体验了,免得说什么什么我没资格代表谁谁谁啊、别人怎么想我没资格知道啊这些了,我就问你自己,你自己觉得,上面的问题,如何解释,或,解答?

如果,还坚持什么TW就是TW啊,它有自己的操作习惯啊,不需要向别人看齐啊模仿啊,它就是要坚持自己之前的设计啊,老用户都用惯了啊,更简便了反而老用户们会不习惯啊,反正TW就是好啊就是好,简便的地方是好,不简便的地方那也是特别考量特别设计过的,你自己不那么用,不严格按照开发组的思路来走,那怪你自己,你也可以不用,选择其他的产品是你的权利…………

还是这些话的话————那么,就、请、你们、可持续性、YY吧,我、就、不奉陪、了…………
作者: 东暴    时间: 2007-2-9 12:48     标题: 回复 #26 杀手在线 的帖子

你这个问题比较特殊,开发组应该可以加进去。

PS:每个品牌都有他自己的用户,一个品牌好用,品质好用户就多,就好像Windows一样。
作者: rebirth    时间: 2007-2-9 13:12

原帖由 杀手在线 于 2007-2-9 12:33 发表
我就不说普通用户的使用体验了,免得说什么什么我没资格代表谁谁谁啊、别人怎么想我没资格知道啊这些了,我就问你自己,你自己觉得,上面的问题,如何解释,或,解答?

如果,还坚持什么TW就是TW啊,它有自己的操作习惯啊,不需要向别人看齐啊模仿啊,它就是要坚持自己之前的设计啊,老用户都用惯了啊,更简便了反而老用户们会不习惯啊,反正TW就是好啊就是好,简便的地方是好,不简便的地方那也是特别考量特别设计过的,你自己不那么用,不严格按照开发组的思路来走,那怪你自己,你也可以不用,选择其他的产品是你的权利…………

还是这些话的话————那么,就、请、你们、可持续性、YY吧,我、就、不奉陪、了…………...


言重了,只是讨论问题而已,貌似这些话在说我以前说过的某句话 偶的言语向来寥寥几字,语法不严谨,如果让你误解了,在此抱歉,请勿多想。如果不是说我,那么是我多想了,别介意
作者: 杀手在线    时间: 2007-2-9 15:11

没事没事,可能我也太倔了一点,或者太急切了一点吧。。。

用上TW及来这儿不到两周,之前一直用MT用了2~3年。其实人都是有路径依赖的,这点谁都逃脱不了,就像我依赖MT的一些操作习惯一样,TW的长时间拥趸们自然也是一样。

而我是这么想的,要是连我这样MT用户(勉强也算是个MT的忠实用户吧)都能心悦诚服的用上TW,那不是更好得说明TW的领先和魅力么?

况且,说句也许外行的话,我觉得这个在技术上并不难实现啊。完全可以将非本次浏览所记忆的页面,即之前的记忆清单全部从ini文件中的RecentUrl项下的数据读入,以供用户恢复啊。而不要只读入Lasturl项下的数据。这样也就可以顺带解决上述的另外一个问题,即关闭全部标签不提示并直接关闭浏览器时有页面尚在浏览时也不提示的时候,关闭的页面无法恢复的问题。这一段话也许是外行话,开发组大侠们可能见笑了,也许你们另有考虑,比如说少载入数据以求打开程序更快捷。再比如说另外有解决方案。。。。




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn./) Powered by Discuz! 7.2