sdec040721
小狐狸
小狐狸
  • UID5082
  • 注册日期2005-04-14
  • 最后登录2007-05-13
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:17250回复:26

downthemall!0.9.9.8修改版(2007-05-10), 解决汉字乱码(firefox扩展)

楼主#
更多 发布于:2007-03-17 17:23
转自blog      http://blog.2i2j.com/?p=186

      在firefox的扩展中有一个downthemall! 可以实现多线程下载, 下载过程可控, 极大的增强了firefox自带的下载功能。 但downthemall!是国外的朋友开放的, 对这个东亚字符的乱码问题没有考虑在里面, 所以在下载中文的文件中很多时候会出现乱码的情况, 让人感觉很不爽。

      本人也是一个菜鸟, 但苦于受这个害, 没办法奋起学之, 东拼西凑, 经过一天的努力, 终于将这个乱码的问题解决, 解决的不算完美, 但可以接受。

      修改之后的downthemall! 不会在下载面板中出现的dtaoneclick下的路径中的中文乱码。 同时下载的文件名也不会出现乱码, 可以识别所有的编码并进行转换, 彻底解决乱码问题, 不过有一点小问题, 就是在下载的时候窗口中显示的还是乱码, 但下载下来的文件是不会有乱码的, 而且重新打开dta的管理器, 文件名也不会出现乱码, 我还没有找到这个窗口中的刷新是在哪里修改的. 继续努力中…..

      修改后的downthemall! 可以在这里下载。 http://www.newsmth.net/att.php?p.792.39079.984.xpi

××××××××××××××××××××××××××××××××××××××××××××××××××××

      本次修改中所修改的的文件有两个, 一个是dta.jar/content/dmoverlay.js, 里面共涉及三处内容的修改

1、增加 this.description = dialog.mLauncher.source.originCharset;  该语句主要用来获得所下载页的编码, 从而为后面的获得正确的解码提供基础。 这个方法来源是mozilla的developer, 地址是这里:http://developer.mozilla.org/en/docs/nsIURI

同时利用了downthemall!的description字段作为编码的存储字段, 用来传递编码, 以便于正确解码。

2、 增加
  var converter = Components.classes[”@mozilla.org/intl/scriptableunicodeconverter”]
      .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
  converter.charset = ‘UTF-8′;
  dir = converter.ConvertToUnicode(dir);

这个语句用来修正在下载面板中出现的dta下载路径中的中文字的乱码

3、修改了 DTA_AddingFunctions.saveSingleLink(turbo, this.url, this.referrer, “”);将其修改成DTA_AddingFunctions.saveSingleLink(turbo, this.url, this.referrer, this.description); 将网页编码传递过去。

      另外修改的一个是dta.jar/content/dta/down.js, 里面涉及一处内容的修改, 增加了下面的这个语句

  //start modified by hongfengye 2007-03-14
  var converter = Components.classes[”@mozilla.org/intl/scriptableunicodeconverter”]
      .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
  converter.charset = this.description;
  this.fileName = converter.ConvertToUnicode(this.fileName);
  this.destinationName = converter.ConvertToUnicode(this.destinationName);
  //end modified

用来修正下载的文件名, 消除中间的乱码。 我把这个语句加在了moveCompleted : function(fileManager)过程中, 所以乱码修正的时间是在下载完毕的时候修正, 我还没有找到更好的地方进行修正乱码。 尽请原谅

      本来我想在这个扩展提取文件名的地方修正乱码的, 这个是最彻底的, 但我一直找不到一个参数的传递, 而已在最初的时候传递参数, 但从论坛上下载文件的时候, 总是会出现文件名自动修改的方式, 这个方式我没有掌握是一个什么过程, 从而没有找到参数的传递。 从而导致修改不成功, 最后还是放弃了。

      修改这个扩展用到了sunwan修改greasemonkey中用到的代码, 我直接拿来用了, 在此感谢sunwan。

      本人的技术实在太菜, 所以修改的不好, 请各位原谅。
欢迎订阅我的blog
feedburner: http://feeds.feedburner.com/2i2j
feedsky:        http://feeds.feedsky.com/2i2j

谢谢有空来我的blog看看
http://blog.2i2j.com
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-21
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2007-03-17 17:23
有用此扩展的帮助测试一下!
Firefox More than meets your experience
web123lai
千年狐狸
千年狐狸
  • UID8036
  • 注册日期2005-08-17
  • 最后登录2019-05-01
  • 发帖数4225
  • 经验13枚
  • 威望1点
  • 贡献值20点
  • 好评度10点
  • 社区居民
2楼#
发布于:2007-03-17 17:23
今天刚装上,不知道能用多长时间,恰好看到楼主的修改版,呵呵,缘分啊……
web123lai
千年狐狸
千年狐狸
  • UID8036
  • 注册日期2005-08-17
  • 最后登录2019-05-01
  • 发帖数4225
  • 经验13枚
  • 威望1点
  • 贡献值20点
  • 好评度10点
  • 社区居民
3楼#
发布于:2007-03-17 17:23
测试有效,终于看到我久违的桌面了:good
hnstxx
千年狐狸
千年狐狸
  • UID1952
  • 注册日期2005-01-09
  • 最后登录2013-05-14
  • 发帖数4977
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2007-03-17 17:23
我也用这个扩展,装来试试看,无论结果怎样,先谢过楼主^_^
MM:你是个外表冷酷,内心却很甜蜜的男人。
Earfar
小狐狸
小狐狸
  • UID5606
  • 注册日期2005-04-30
  • 最后登录2010-03-23
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2007-03-17 17:23
我下载了,不过还没有找到合适的测试,希望OK拉
sdec040721
小狐狸
小狐狸
  • UID5082
  • 注册日期2005-04-14
  • 最后登录2007-05-13
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2007-03-17 17:23
对中文的测试, 可以使用这两个网址的内容, 里面的附件都含有汉字
gbk编码的 http://bbs.pdafans.com/viewthread.php?t ... A%C2%B1%BE
utf-8编码的 http://forums.mozine.cn/index.php?showtopic=15078
欢迎订阅我的blog
feedburner: http://feeds.feedburner.com/2i2j
feedsky:        http://feeds.feedsky.com/2i2j

谢谢有空来我的blog看看
http://blog.2i2j.com
sdec040721
小狐狸
小狐狸
  • UID5082
  • 注册日期2005-04-14
  • 最后登录2007-05-13
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2007-03-17 17:23
今天在两位朋友的帮忙测试下, 使我发现了其中存在的问题. 我猜想这个问题存在的因素是这样的, 可能以上两位朋友采用的是右键点击然后选择downthemall!下载的, 我测试的时候没有对这个右键点击进行测试, 所以导致了上面碰到的问题, 下载到100%后出现不能存储的错误. 经过再次的修改,已经解决该问题. 经我这里测试已经没有问题了

对给造成了麻烦的朋友们说声对不起, 由于我的疏忽, 给大家造成了极大的不方便.

这次修改的版本downthemall!0.9.9.7(2007-03-21修改), 提供再次下载. 应该可以解决上面出现的问题, 再一次说明, 楼上提供的下载地址, 这个不是乱码, 所以不能修正(这个%xx%xx的表示方法是在服务器端进行了编码传输, 与平常说的乱码不是一回事情).

同时提供一个方法, 方便直接替换原来的版本. firefox的扩展都可以直接替换, 不需要安装, 下载本附件后, 将后缀名从xpi改成zip, 或者直接在xpi后面添加.zip, 然后用winrar之类的解压工具打开, 把里面的dta.jar提取出来, 直接覆盖电脑上的dta.jar, 如果需要保留原版的, 可以将原来的版本的dta.jar改名.

dta.jar是存在firefox的profile\extensions\{DDC359D1-844A-42a7-9AA1- 88A850A938A8}\chrome, 这个文件夹可能是隐藏的, 所以在搜索的时候需要打开搜索隐藏对象和系统对象, 一般在c:\documents and settings\你的用户名\application data\mozilla\firefox的下面. 如果是portable的用户, 那就在portable的data下面了.

注意: 在替换的时候要关闭firefox, 否则替换不成功
再一次对前面出现的问题说声抱歉, 新手办事, 疏忽了很多方面, 请见谅!

由于本站附件上传的容量太小, 就不上传附件了, 请需要的朋友在这里下载
http://blog.2i2j.com/downthemall.xpi
欢迎订阅我的blog
feedburner: http://feeds.feedburner.com/2i2j
feedsky:        http://feeds.feedsky.com/2i2j

谢谢有空来我的blog看看
http://blog.2i2j.com
中国龙
非常火狐
非常火狐
  • UID11331
  • 注册日期2006-01-29
  • 最后登录2011-03-21
  • 发帖数891
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2007-03-17 17:23
好用 。
hnstxx
千年狐狸
千年狐狸
  • UID1952
  • 注册日期2005-01-09
  • 最后登录2013-05-14
  • 发帖数4977
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
9楼#
发布于:2007-03-17 17:23
楼主辛苦,我继续使用中......
MM:你是个外表冷酷,内心却很甜蜜的男人。
sdec040721
小狐狸
小狐狸
  • UID5082
  • 注册日期2005-04-14
  • 最后登录2007-05-13
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2007-03-17 17:23
能够有人来用我的修改版, 我很荣幸, 感谢各位使用!

有什么问题, 也可以到我的博客反馈, 谢谢! http://blog.2i2j.com
欢迎订阅我的blog
feedburner: http://feeds.feedburner.com/2i2j
feedsky:        http://feeds.feedsky.com/2i2j

谢谢有空来我的blog看看
http://blog.2i2j.com
sdec040721
小狐狸
小狐狸
  • UID5082
  • 注册日期2005-04-14
  • 最后登录2007-05-13
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
11楼#
发布于:2007-03-17 17:23
downthemall!0.9.9.7(modified 2007-03-24)修改版, 彻底解决乱码问题
今天又重新修改了downthemall! 彻底解决了乱码问题, 包括原来存在在dta管理器中的乱码
和log文件中的乱码

由于附件太大, 这里无法上传, 需要下载的朋友请到这里下载

http://blog.2i2j.com/downthemall.xpi
http://blog.2i2j.com/dta.jar

以前安装的朋友可以直接用dta.jar替换原来版本的dta.jar,  可以免去再次安装的麻烦, 替换时需要关闭firefox, 并且可能需要开启windows隐藏文件的显示

具体替换方法见http://blog.2i2j.com/?p=191

我把整个过程和修改的地方具体写在了我的博客上, 中间曾经犯了一个弱智而严重的错误, 也在博客上体现了. 如果有兴趣的话, 可以阅览我的博客
谢谢
欢迎订阅我的blog
feedburner: http://feeds.feedburner.com/2i2j
feedsky:        http://feeds.feedsky.com/2i2j

谢谢有空来我的blog看看
http://blog.2i2j.com
晦明风雨
小狐狸
小狐狸
  • UID17523
  • 注册日期2007-03-21
  • 最后登录2010-04-08
  • 发帖数4
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于:2007-03-17 17:23
谢谢,下来试一下~~~
ternatcn
火狐狸
火狐狸
  • UID4999
  • 注册日期2005-04-11
  • 最后登录2010-04-07
  • 发帖数254
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
13楼#
发布于:2007-03-17 17:23
有意思的东东,下一个试试。谢谢楼主了。
偶的扩展有: access_flickr! adblock_plus adblock_plus__element_hiding_helper bbcode cleanhide easyDragToGo fireGestures flashgot foxyproxy greasemonkey opensearchfox tongwen delicious bookmarks tiny menu show location
sdec040721
小狐狸
小狐狸
  • UID5082
  • 注册日期2005-04-14
  • 最后登录2007-05-13
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于:2007-03-17 17:23
由于网络问题, 今天发现http://blog.2i2j.com上更新的downthemall有误, 没有更新成功, 请以前下载的用户重新下载, 今天我又改进了一部分代码, 虽然关系不大, 但可以使得运行的更加稳定.

具体地址是
http://blog.2i2j.com/downthemall.xpi
http://blog.2i2j.com/dta.jar

同时建议这个论坛能够增加附件的容量. 目前的附件容量实在太小了.
欢迎订阅我的blog
feedburner: http://feeds.feedburner.com/2i2j
feedsky:        http://feeds.feedsky.com/2i2j

谢谢有空来我的blog看看
http://blog.2i2j.com
上一页
游客

返回顶部