屈超(沙滩凉鞋) 发表于 2008 年 10月 19 日 3 时 36 分
特别提示:
这些天针对优酷、土豆和 56 进行了更新……
大家都知道……
优酷采用了分段视频的储存方式……
而我实在没空将支持多视频分析的半成品 Downflv.com v2 更新上线……
所以我采取了另一种改良方式对目前的优酷分段视频进行了支持……(使用 data:URI)
所以对于优酷分段视频的分析仅支持 Firefox、Chrome/Safari、Opera 等浏览器……
只能对 IE 用户说声抱歉了……
最近更新:
前天完成了 Opera Widget for FLV Downloader 并提交到官方 ……
不幸成为 Opera 官方上的第四款国产 Widget ……
LOL……
不过还有一个遗留问题:
无法从 Opera 获取当前 Tab 的 URL ……
如您知道此方法望不吝赐教……
PS:
刚发现用 Opera 浏览下载器页面会变得惨不忍睹…… (所幸使用正常……)
怪我当初没给 GGAD 留下好位置……
Opera 用户再忍几日……
待我的新界面出炉……
至此 Maxthon、Firefox、Opera 的插件均业已齐全……
官方下载地址如下(用相应浏览器均可以在线安装):
Maxthon Plugin for FLV Downloader
Firefox Extension for FLV Downloader
Opera Widget for FLV Downloader
下个目标是 IE7 的 Addon ……

下载器地址如下:
http://www.quchao.com/video/
如果您觉得本工具侵犯了贵站权益……
请联系我……
我会尽快移除……
具体支援的站点列举如下(按英文字母序排列):
目录
- 最近更新
- 开发日志
- BookMarkLet 使用方法
- Maxthon 快捷搜索使用方法
- IE7 快捷搜索使用方法
- Maxthon 插件使用方法
- FireFox 扩展使用方法
- Opera 控件使用方法
- IE 右键插件使用方法
- 已知问题
327 则评论 | 永久链接 | Trackback | RSS 2.0
归类: 程式::五代
标签: Flv, Video, Vlog, PHP, Download, Fjax, BookMarkLet
屈超(沙滩凉鞋) 发表于 2008 年 10月 15 日 20 时 13 分
如果你看过我的上一篇文章……
应该已经了解我要解决的这个 Bug 究竟是怎么一回事儿……
很不幸 Firefox 和 Firebug 都有类似 Bug ……
也即在外部编辑器中查看网页 HTML 源码的乱码问题……
该 Bug 在 Firebug 的历代版本中均存在……
除了 Windows 我也在 Mac 版上发现了该 Bug ……
但与 Firefox 本身的问题不同……(见我前一篇文章)
Firebug 采取的另外一种方式来处理……
但显然也没能够逃脱产生乱码的“厄运”……
Bug 具体的描述如下……
如果你通过 Firebug 的菜单命令配置过外部编辑器……
(Tools -> Firebug -> Open With Editor -> Configure Editors)
那么配置完毕后将在你的右键上下文菜单中显示 Open With Editor 命令组……(如下图)

通过这个命令组……
你可以选择不同的编辑器对当前的网页源码进行查看和编辑……
确实非常便捷……
但是……
当你想用 Firebug 的这一功能查看任何包含有非 ASCII 字符的网页时……
你则可能遇到下面两种问题……
第一种……
当你想要查看任何包含非 ASCII 字符的线上页面源码时……
你可以正常打开它……(因为 Firebug 用 ascii 字符命名 tmp 文件)
但你看到的内容将是存在乱码的……(如下图)

第二种……
当你把一个文件名中包含非 ASCII 字符的文件拖进 Firefox ……
并想要查看其源码时……
你的编辑器却连文件都无法打开……(如下图)

研究 Firebug 源码后得知……
对于第一种情况……
是由于 Firebug 没有对 Unicode 的源码进行转码所致……
而第二种情况……
则是因为 Firebug 在向编辑器发送命令行参数时没有对文件名进行转码……
(如果你还想追问我为何 Firebug 的源码面板没有乱码……
我可以顺便告诉你:因为这些流程都在 Firefox 内部……)
知道了造成 Bug 的原因……
我们就可以操刀开始解决了……
对于第一种情况……
只需要将其转为 UTF-8 编码即可……
打开 profile\extensions\firebug@software.joehewitt.com\content\firebug\firebug.js 文件……
搜索:
- temporaryFiles.push(file.path);
在其下方添加代码:
- // Hacked by Chappell.Wat @ QuChao.com on 2008-10-14 start
- data = convertFromUnicode('UTF-8', data);
- // Hacked by Chappell.Wat @ QuChao.com on 2008-10-14 end
对于第二种情况……
则稍微复杂一点……
因为通过命令行发送参数到系统时需要根据系统的 non-unicode 默认编码来转码……
(由于条件所限我这里仅针对 Windows 进行修改)
比如我虽然使用英文系统……
但是为了完美支持中文我将字符集改成了 936 ……
那么我就需要将那个“乱码”文件名转为 GB2312 或 GBK……
其它语言的用户请按情况修改……(如果你看得懂的话)
同样是打开 profile\extensions\firebug@software.joehewitt.com\content\firebug\firebug.js ……
搜索:
在其下方添加代码:
- // Hacked by Chappell.Wat @ QuChao.com on 2008-10-14 start
- if ('WINNT' === getPlatformName()) {
- localFile = convertFromUnicode('GB2312', localFile);
- }
- // Hacked by Chappell.Wat @ QuChao.com on 2008-10-14 end
这样就大功告成了……
自动判断系统 non-unicode 默认编码的方法我已经找到……
有待我测试后更新……
在此之前请各位还是手动修改吧……
@081015 更新:
我今天测试的时候发现……
某些情况下 Firebug 的代码并不能完全处理 UTF8 的 BOM 头……
所以我们再写一段代码来自己清除它……
打开 profile\extensions\firebug@software.joehewitt.com\content\firebug\lib.js ……
搜索:
在其下方添加代码:
- // Hacked by Chappell.Wat @ QuChao.com on 2008-10-15 start
- var fileLen = stream.available();
- if ('UTF-8' === charset && fileLen > 3) {
- var bom = sis.readBytes(3);
- if (String.fromCharCode(239, 187, 191) !== bom) {
- segments.push(bom);
- }
- }
- // Hacked by Chappell.Wat @ QuChao.com on 2008-10-15 end
不过这样做是否会有什么副作用我暂时还不知道……
是否修改就看你个人选择了……
最后……
为懒人们提供修改完成的版本……(v1.2.1)
不堪乱码困扰的你一定要下载……
Bug 我也会提交到 Firebug 的官方讨论组……
希望以后不用劳烦我们自己修改就能避开这种恼人的问题……
国外: http://www.quchao.com/projects/mozilla/firefox/extension/firebug-1.2.1-fx_fixed_by_quchao.xpi
国内: http://vip.yyjoy.com/chappell/mozilla/firefox/extension/firebug-1.2.1-fx_fixed_by_quchao.xpi
2 则评论 | 永久链接 | Trackback | RSS 2.0
归类: 程式::五代
标签: Mozilla, Firefox, Firebug
屈超(沙滩凉鞋) 发表于 2008 年 10月 12 日 1 时 00 分
好久没空来写点儿东西了……
今天给带来昨天刚完成的一款 Firefox 扩展……
习惯在 Firefox 里使用外部编辑器查看 HTML 源码……
然而它一直都存在这样一个 Bug ……(如图)

这个 Bug 在 Window 下所有版本的 Firefox 都存在……
原因十分简单……
Firefox 将源代码存到 windows 的 temp 文件夹后……
忘了给文件名转码……
此时源码文件的文件名是 non-unicode 编码的……
而在 Firefox 内部却是 unicode 的……
等你执行 View Page Source 命令后……
Firefox 将文件名作为参数发送给你所设置的外部编辑器……
编辑器当然找不到源码文件路径……
这也解释了为何我们可以用外部编辑器正常打开英文网站的源码……
实上在 Bugzilla 上是可以找到相关的 Bug 报告……
比如以下两个:
https://bugzilla.mozilla.org/show_bug.cgi?id=172817
https://bugzilla.mozilla.org/show_bug.cgi?id=408923
既然有 Bug 我们来修复就好了……
这就是我这个扩展的主要功能……
安装后它会修改与查看源码相关的相关函数……
把临时文件的文件名正确转码后才发送给你的编辑器……
这样就能正确打开了……(如图)

最后有三点需要注意……
1. 该 Bug 仅当使用外部编辑器查看源码时存在……
如果你使用 Firefox 内部页查看源码……
请无视……
如果你想从现在开始使用外部编辑器来查看源码……
请将 view_source.editor.external 设为 true ……
并把外部编辑器的路径写到 view_source.editor.path ……
2. 本扩展目前仅适用于简体中文用户……
因为我还没找到从 Firefox 里获取用户 non-unicode 默认编码的方法……
在注册表中没有找到……
有线索的朋友可以留言告诉我哟……
3. 装本扩展仅能解决 Firefox 内置的查看源码的方法……
Firebug 的 Open with Editor (打开编辑器)功能虽然使用的自建方法……
(请看清:是右键和菜单栏下的一个功能组……)
但仍然会存在乱码问题……
不同的是用 Firebug 所提供的该功能打开源码看到的是内容乱码……
因为它根本就没有对网页内容进行转码(见其 editor.js 功能)……
有兴趣的朋友可以使用 converter-output-stream 组件的 nsIConverterOutputStream 接口来修复该问题……
至于 Firebug 为何在打开文件时不存在乱码问题……
原因很简单……
它的临时文件的文件名是一水儿的 ascii 字符……(笑)
由此引出三个 Todo……
1. 下个版本会在选项面板提供一个文件浏览控件……
方便你简单地设置外部编辑器路径……
2. 自动判断用户的 non-unicode 默认编码值……
3. 考虑解决 Firebug 的外部编辑器乱码 Bug 并提交给 Firebug 官方……
但不确定人家要不要……
(已于 2008.10.15 解决,详见这篇日志)
呵呵……
解决上面几个问题……
本扩展就迎来其 1.0 版本……
哦对了……
支持 2.0 - 3.0.* 的所有版本……
事实上在我的 3.2 beta pre 上也工作正常……
最后提供下载……
国外: http://www.quchao.com/projects/mozilla/firefox/extension/viewSourceInExternalEditorBugfixer.xpi
国内: http://vip.yyjoy.com/chappell/mozilla/firefox/extension/viewSourceInExternalEditorBugfixer.xpi
userChrome.js 计划中……
但将在解决自动判断编码的问题后提供……
2 则评论 | 永久链接 | Trackback | RSS 2.0
归类: 程式::五代
标签: Mozilla, Firefox, Extension