世界之窗论坛's Archiver

sak 发表于 2008-8-30 02:11

新开锁定多个标签,异常退出重新打开不能完全恢复!

新开锁定多个标签,异常退出重新打开不能完全恢复!

世界之窗2.2.1.6版本,其它版本未知是否有这样的问题!

Bug1:如果打开一个或多个网址,twcache.ini中的最后一条记录不保存网址的网页标题,而显示为网址!

例子1:打开百度网址:
正常应为:[url=http://www.baidu.com/][color=#0000ff]http://www.baidu.com/[/color][/url]=百度一下,你就知道
但显示为:[url=http://www.baidu.com/=http://www.baidu.com/][color=#0000ff]http://www.baidu.com/=http://www.baidu.com/[/color][/url]
[color=#0000ff][/color]
Bug2:如果打开多个相同的网址,twcache.ini中不保存为多条记录,而只记录为一个网址!

例子2:打开两个百度网址:
正常应为:[url=http://www.baidu.com/][color=#0000ff]http://www.baidu.com/[/color][/url]=百度一下,你就知道
                 [url=http://www.baidu.com/][color=#0000ff]http://www.baidu.com/[/color][/url]=百度一下,你就知道
但显示为:[url=http://www.baidu.com/=http://www.baidu.com/][color=#0000ff]http://www.baidu.com/=http://www.baidu.com/[/color][/url]
[color=#0000ff][/color]
Bug3:如果打开多个不同的网址,每打开一个网址就立刻锁定标签,然后再打开另一个网址并立刻锁定标签,twcache.ini中只会记录非锁定的网址和最后一个不论是否锁定的网址,而不记录除最后一个网址外的其它已锁定网址!

例子3:打开三个不同的网址并每打开一个立刻锁定:
正常应为:[url=http://cn.yahoo.com/][color=#0000ff]http://cn.yahoo.com/[/color][/url]=中国雅虎首页
                 [url=http://www.google.cn/=Google][color=#0000ff]http://www.google.cn/=Google[/color][/url]
                 [url=http://www.baidu.com/][color=#0000ff]http://www.baidu.com/[/color][/url]=百度一下,你就知道
但显示为:[url=http://www.baidu.com/=http://www.baidu.com/][color=#0000ff]http://www.baidu.com/=http://www.baidu.com/[/color][/url]
[color=#0000ff][/color]
Bug影响:由于twcache.ini不记录新开锁定标签,这样就造成了“上次因程序崩溃退出时未关闭的页面”和“上次因程序无响应在任务管理器结束进程异常退出时浏览的页面”在下次启动程序时在“起始页以列表方式”不能完全恢复!

注:twcache.ini的内容是在进行相关操作后,在程序未关闭时查看而得!

每一个例子中的问题都能够在重新运行单一主程序下重复再现!

希望开发组能够修正这些Bug造成的问题!

祝愿世界之窗在用户的反馈下更加完善!

[[i] 本帖最后由 sak 于 2008-8-30 15:28 编辑 [/i]]

Aycox 发表于 2008-8-30 14:00

twcache.ini中标明的是[TempUrl],即你当前所打开的页面。
为了应对异常情况,那么必须在情况发生之前就预先将数据保留,否则就一旦发生就晚了。
为了兼顾,又不能任何一个变动就直接写配置,因为电脑文件出错或丢失往往就发生在文件被打开和磁盘读写时。

顺着楼主一个个说:

1、既然打开页面的记录必须预先保留,那么在每开一个页面的当时就应将地址保存。页面加载后才有标题,而打开一个网页需要时间,假若异常情况出现在这段时间内,那岂不是那个页面地址得不到保存?
所以记录并更新的时机是开页面的瞬间而不是等页面已经打开,最后一个记录没有标题就是这个原因。

2、多个一模一样的网址,自然应该只取一个。

3、这个情况的确存在,twcache.ini中会将锁定的标签排除,这样若这些锁定页面是新地址页面且是新执行锁定的,那么一旦异常将丢失。(这个只针对锁定页面,而非楼主说的上次未关页面和异常页面记录丢失问题)


再补充一下:楼主的标题?莫非指的锁定几个,下次启动时少了某个?测试无法重现。

sak 发表于 2008-8-30 15:15

[quote]原帖由 [i]Aycox[/i] 于 2008-8-30 14:00 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=627292&ptid=65628][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]
3、这个情况的确存在,twcache.ini中会将锁定的标签排除,这样若这些锁定页面是新地址页面且是新执行锁定的,那么一旦异常将丢失。(这个只针对锁定页面,而非楼主说的上次未关页面和异常页面记录丢失问题)
再补充一下:楼主的标题?莫非指的锁定几个,下次启动时少了某个?测试无法重现。 [/quote]

我所描述的都是针对锁定标签的!

我所指的是新开锁定多个标签,因异常情况非正常退出后,下次启动时只打开最后一个标签!

重复再现详细操作步骤如下:
1、运行单一主程序
2、打开[url=http://www.baidu.com]www.baidu.com[/url]
3、锁定百度标签
4、新建一个标签
5、打开[url=http://www.google.cn]www.google.cn[/url]
6、锁定Google标签
7、新建一个标签
8、打开[url=http://www.dict.cn]www.dict.cn[/url]
9、锁定Dict标签
10、新建一个标签
11、打开[url=http://www.iciba.com]www.iciba.com[/url]
12、锁定爱词霸标签
13、查看twcache.ini,显示只有最后一个标签记录,不记录新开锁定标签
14、不关闭标签,直接在任务管理器结束进程(模拟程序崩溃退出或程序无响应时结束进程)
15、重新运行程序
16、上次退出时未关闭的页面列表中只显示上次打开的最后一个标签

谢谢解答,之前问题没说清楚,现在补充说明!

希望开发组能够让twcache.ini也临时记录新开锁定标签!

sak 发表于 2008-8-30 18:13

希望开发组能够让twcache.ini也临时记录新开锁定标签!

Aycox 发表于 2008-8-30 21:06

回复 4# sak 的帖子

不用试了,我#2楼第三条已经说了:运行后当次锁定的页面会被twcache排除,若异常关闭那些被锁定的页面会丢失。

谢谢楼主反馈。不过这个问题肯定不是将锁定页也记录在cache中那么简单。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.