時計坂一刻館三号室

[080725] SingletonFox 1.1 -Firefox Extension-单实例运行

屈超(沙滩凉鞋) 发表于 2008 年 7月 25 日 3 时 12 分

[最近更新]

更新至 1.1 版本……
将一些常用的新建窗口命令替换为新开标签……
并覆写与新窗口相关的设置……
解决了用 JavaScript 开启新窗口(如 Web Gtalk) 而造成的无法合并标签的 Bug ……
强烈推荐更新……

SingletonFox 是我新近编写的一款 Firefox 扩展……
目的非常单纯……
就是为了强制 Firefox 始终保持单实例状态运行……

依稀记得早在 1.5 时代……
Firefox 本身通过参数配置便可实现单实例运行的……
而 2.0 之后就消失掉了……
大家转向使用个 Tab Mix Plus (以下简称 TMP)来实现……
但 TMP 太过臃肿……
很多国内用户都用 Tab Mix Lite CE (以下简称 TML CE)……
遗憾的是 TML CE 并不提供类似功能……

有的同学可能认为自己没遇到过多实例 Firefox 的状态……
诚然……
你通过修改 Pref.js 的设置确实能在很多地方强制使用标签页浏览……
但你仍然可以通过其它各种途径“不经意间”开启多实例……
(TMP 扩展用户不在此列……)
比如按住 Shift 单击链接……
比如在链接的右键上下文菜单上选择“New Window”……
再比如直接重新开启一个新 Firefox 程序……
这时你会发现 Firefox 有多个实例……
并且共用一套 Session 系统……
开发团队的确用心良苦……
(注意要转折了……)
但是……
这个世界上终究有些人还是更愿意单实例运行的……
比如我……

于是……
在寻找可用方案无果的情况下……
我写了这个插件……
不知道 TMP 是如何实现的……
我的做法是在 Firefox 实例化时进行检查……
如果实例已存在便将新实例里的标签页全部移交给之前的那个……
然后关闭新实例……

然后……
强烈建议配合 TML CE 使用……
这下又多一个抛弃臃肿的 TMP 的理由了……

另外……
扩展我已经提交到 Mozilla 官方了……
照例还是在 SandBox 里……
有帐号且支持本扩展的同学可以帮忙评论一下……
这是它逃离 SandBox 的唯一途径……

今天就到这儿了……
有意见请留言……

[更新记录]

[08-07-18 ] 1.0: 初始发布
[08-07-25 ] 1.1: 禁用新建窗口功能并覆写相关设置

提供扩展下载……

国外: http://www.quchao.com/projects/mozilla/firefox/extension/SingletonFox.xpi
国内: http://vip.yyjoy.com/chappell/mozilla/firefox/extension/SingletonFox.xpi
官方: https://addons.mozilla.org/zh-CN/firefox/addon/8182

另为 userChrome.js 用户提供脚本版下载……
(实际上最初我就写的脚本版)
功能完全相同……

国外: http://www.quchao.com/projects/mozilla/firefox/userchrome_js/singletonFox.uc.js
国内: http://vip.yyjoy.com/chappell/mozilla/firefox/userchrome_js/singletonFox.uc.js

[080404] ChinaList for Pagerization 支持 VeryCD 全站

屈超(沙滩凉鞋) 发表于 2008 年 4月 4 日 0 时 30 分

终于有时间更新了……
因为老外的两个数据源已经不再支持 Baidu ……
那么我的 ChinaList 理所当然得接过了这个任务……
目前修复了百度绝大部分的常用服务……
除了图片和视频……
前者是使用 js 生成的链接……
后者则是用 js 控制着排版……
虽然最新版本的 Pagerization 已然增加对前者类型的支持……
(也就是说 cnBeta 这样的站将有可能自动滚屏成功……)
但 ChinaList 是一个 XPath 专用源……
如果添加了类似站点的支持……
不知道会不会对不同滚屏脚本的兼容度造成影响……
因此我暂时没有添加对百度图片的滚屏支持……
而百度视频由于排版的关系将不予支持……
规则已经注释在 ChinaList 页面源码内……
有兴趣地可以自行浏览……

目前我使用 FF3B4 + GreaseMonkey 0.7.20080121.0 + Pagerization 0.2.2a ……
使用正常……
(重新安装 Pagerization 别忘了添加 ChinaList 喔……)

=============== 华丽地分割 =================

沉寂了多日……
今天终于忍不住更新了……
为了方便自己长期关注“天使也魔鬼” MM ……
我终于加入了对 Mop 贴贴 的支持……
这样就能“一拖到底”了……
更有甚者居然要求我编写“只看楼主”的用户脚本……
我艹……
好色也该有个限度吧……
另附“天使也魔鬼”的更新帖地址供大伙儿体验……
请猛击:http://tt.mop.com/club/read_2033236.html

=============== 华丽地分割 =================

Pagerizations 是著名 Firefox 扩展—— GreaseMonkey 的一个 User Script……
简而言之就是一款用于自动读取分页形式下次页内容的脚本……
(与我之前写的 Baidu Auto Pager 效果相同…… 甚至更好……)
难能可贵的是作者为这个脚本实现了“数据源”的概念……
脚本自动缓存数据源的分页规则……
遇到匹配的网站便找出规则分析并予以处理……
目前官方非官方的数据源已经能处理数十个站点的分页了……
但其中外文站点占了绝大多数……
因此作为这个脚本的绝对拥趸……
我曾想过自己 Host 一个中文站点的数据源……
可惜人太懒……
未能付诸行动……

恰逢昨天有朋友通过 Baidu Auto Pager 的页面找到我……
希望我能帮忙编写“百度知道”的自动翻页脚本……
我想了一下……
与其另写一个脚本……
倒不如提供自己常用分页规则给大家……
于是乎……
我建立了这个名为“ChinaList for Pagerization”的源……

国内用户:http://vip.yyjoy.com/chappell/chinalist
国外用户:http://www.quchao.com/projects/chinalist

使用方法很简单……
先打开 Firefox gm_scripts 目录下的 Pagerization.user.js 文件……
再从上方两个数据源中选择适于自己网络环境的那个地址……
将其加入 SITEINFO_URL 数组……
添加完毕后……
数据源的定义部分应该看起来像这样:

  1. var SITEINFO_URL = [
  2. 'http://k75.s321.xrea.com/pagerization/siteinfo#function', // Official release data
  3. 'http://swdyh.infogami.com/autopagerize', // Autopagerize Wiki data. Xpath ONLY!!
  4. 'http://vip.yyjoy.com/chappell/chinalist', // ChinaList. Xpath ONLY!!
  5. ];

接着右键点一下小猴子的头像……
选择 User Script CMD -> Cache Update ……
当弹出 “Cache update complete” 后就算是添加完毕了……
接下来你就可以在 ChinaList 所定义的中文站点中享受自动翻页的服务了……

PS.
我希望作者能够将其作为原始数据源加入 Pagerization ……
那样就可以免去以上繁琐的更新过程了……

有点儿晚了……
睡觉觉去……

更新日志:
[071103]

初始版本,支援 Baidu (部分)、iAsk (几乎全部)和 BXNA ……

[071104]

支援 Sogou 全站、MXNA ……

[071106]

支援 Engadget、AutoBlog(除英文)……

[071109]

支援 Yahoo 全站(除“吃住玩”)……

[071113]

支援 XiaoNei 全站、TianYa 帖子……

[071117]

支援 YoDao 全站(除图片搜索)……

[080107]

支援 Mop 贴贴(不支持框架)……

[080120]

支援 Yupoo 全站……

[080329]

重新支援 Baidu 大部分服务……

[080404]

支援 VeryCD 全站……

Vimperator Plugin for “IE Tab” ver 0.0.1

屈超(沙滩凉鞋) 发表于 2008 年 2月 1 日 23 时 35 分

Vimperator 自 0.5 以来就支持了插件系统……
而所谓的插件……
无非就是一个 JS 而已……
所以看看 Vimperator 和其它扩展的源码就能写出来……
今天抽空为 IE Tab 写了一个 Vimperator 插件……
功能嘛……
就是给 IE Tab 在 Vimperator 里添加了 Command 和 Mapping ……

用法如下:
(假设 IE Tab 的设置为 ‘alwaysNewTab’ = false)

NORMAL 模式下:
:ie 在本标签页切换当前页面浏览引擎;
:ie! 在新标签页切换当前页面浏览引擎;
:ie e 在外部程序浏览当前页面;
:ie o 打开 IE Tab 选项页。

HINT 模式下:
i 在本标签页使用 IE Tab 打开链接;
I 在新标签页使用 IE Tab 打开链接;
e 在外部程序打开链接。

下载后放到 vimperator\plugin 下……
重启 Firefox 后它会自动加载……
如果你还不知道 Vimperator 为何物……
那么请移步这里……

下载地址如下:(请右键另存)

官方下载http://vimperator.mozdev.org/scripts/ietab.js
国内用户http://vip.yyjoy.com/chappell/vimperator/plugin/ietab.js
国外用户http://www.quchao.com/projects/vimperator/plugin/ietab.js

插件已经发到 Vimperator Mailing List 了……
不知道什么时候才有个回音儿……
今天就到这里……

23:31 更新:
官方已经在 Script List 里增加了本插件……
哦耶……

[080131] Portable Firefox 下 Vimperator 0.5.3 个性调整……

屈超(沙滩凉鞋) 发表于 2008 年 1月 31 日 19 时 54 分

很抱歉……
直到 Vimperator 0.5.3 发布一个多月之后的今天……
我才更新了本日志……

为 Firefox 2 之下最后的一个版本……
最令人咋舌的是 vimperatorrc 的引入……
(即配置文件…… 同 Vim 的 _vimrc ……)
建立的方法有两种……
第一种是先用 :set 命令对各项设置进行设定……
然后运行 :mkv 命令来自动生成配置文件……
这种方式生成的配置文件位于 HOME 文件夹……
如果你和我一样使用 Windows 系统……
那么 HOME 环境变量很可能没有设定……
系统会自动在 USERPROFILEHOMEDRIVE\HOMEPATH 下寻找配置文件……
那么很可能你会在 C:\Documents and Settings\Chappell.Wat 下找到它……
Chappell.Wat 是我的个人账户文件夹……)
这种方法虽然方便……
但配置文件被放置在系统文件夹……
要是重灌系统时忘了这茬儿……
后果就……
所以我选择了第二种……
也即手动建立 vimperatorrc 文件的方法……
由于 ~ 除了代表 HOME 之外还指代 VIMPERATOR_HOME 变量……
且后者的优先级高于前者……
因此我们只需要建立一个名为 VIMPERATOR_HOME 的环境变量……
并将其值指向 Vimperaotor 扩展所在的目录……
再将我们编写好的 vimperatorrc 文件扔进去……
(Win 下 _vimperatorrc 优先于 .vimperatorrc ……
*nix 下 反之……)
这样一来就毋庸担心重灌系统所带来的损失了……
至于配置文件的格式嘛……
很简单……
每行放一条命令即可……
比如我的……

set vb
set go=m
set hc=hjklasdgyuiopqwertnmzxcvb
set titlestring=Chappell.Wat’s Vimperator

这样每次启动 Vimperator 就会自动载入该配置……
而且重灌系统后重设环境变量就会恢复到重灌前的状态了……
是不是很方便咧……

花了大量篇幅介绍了 vimperatorrc 文件……
有了前面的基础……
下面只需要在 VIMPERATOR_HOME 的文件夹里建立路径为 vimperator\plugin 的文件夹……
即实现了其插件的功能……
该文件夹下的 js 插件将在 Firefox 启动时自动加载……
由于目前我对 vimperator 的插件尚无什么研究……
就不多说了……
不过我正着手挑一个常用的扩展为其编写一个 Vimperator 插件……
不知选什么比较合适……
要不选FlashGot……

另外一个令人欣喜的更新是可以自动识别 WYSIWYG 编辑器了……
而之前是需要输入 I 来启动 escape 模式的……
简而言之……
你现在用可视化编辑器编写日志、帖子时……
就不用先 escape 了……
直接就可以进行编辑……
支持 Ctrl - C 和 Ctrl - V 等熟悉的快捷键……
这与我之前的猜想一样嘛……
哦活活活……
其它比较有特色的更新……
比如……
Ctrl - g 可以在状态栏显示页面信息……
用 + 和 - 用于在状态栏显示历史状态……
这些都不说了……
还是让我们等待 Vimperator on FireFox3 吧……

今天的最后……
表达一下我想维护 Vimperator 中文版的想法……
但是我本身却习惯使用英文版……
矛盾中……

Read the rest of this entry »

SpeciLink Decoder/Encoder Extension 1.0 for Firefox 正式发布…

屈超(沙滩凉鞋) 发表于 2008 年 1月 9 日 6 时 45 分

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Icon
SpeciLink 以 Special Link 合成命名……
指以下三种“著名的”专用链接协议……

迅雷(Thunder)的 thunder://
快车(FlashGet)的 flashget://
旋风(QQDownload)的 qqdl://

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Addon Preview

目前版本 1.0 ……
支持将普通链接协议(file, ftp, http, mms, rstp 和 https)
与上述三种特殊链接进行多方转换……

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Context Menu Items

由于是初始版本我只自己翻译了如下四种语言包……

美式英语(en-US)、日本语(ja-JP)、简体中文(zh-CN)和繁体中文(zh-TW)

由于扩展的目的相当单纯……
因此基本支持所有平台的 Firefox ……
扩展中规定的是兼容 1.5 - 3.0 beta 3 ……
如果您发现您用不了……
给我留言吧……

装方法不再冗述……
下载了拖进 Firefox 即可……

使用方法“冗述”如下……
首先找到需要解密的资源链接……
本例中选择的是快车专用链接……
注意看状态栏……

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Guide step 1

在该链接上点击右键……
出现了 SpeciLink 选单……
出现了与快车相关的三个选项……
分别是解密和转换为其它两种专用连接……

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Guide step 2

选择第一项对其进行解密……
无声无息地完成了操作……
再次移到链接上……
发现链接已经被解密为普通的 http 链接……
注意看状态栏……

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Guide step 3

既然已经被转换为普通链接……
您就可以使用您喜欢的下载方式(工具)来下载它了……

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Guide step 4

今早已经提交到火狐官方了……
没想到这么久没去……
竟多了个 SandBox 系统……
看来本扩展想从 SandBox 转到 Public 还得耗上点儿时间……
那么直接在本日志提供下载吧……
注意日志尾部……

这是俺的第二款 Firefox 扩展……
花了一晚上……
初衷其实是想方便自己下载那些专用链资源……
因为自己使用的 Firefox + FlashGot + IDM 的组合……
如果你也和我一样有此烦恼……
(人数肯定不多…… -__-)
我相信它一定还是对你有一定帮助滴……

下一步……
准备直接调用 FlashGot 等下载管理器试试……
还有添加少量选项……
恩……
今天就到这儿了……
有意见请留言……

提供下载……

国外: http://www.QuChao.com/projects/specilink/specilink_1.0.xpi
国内: http://VIP.YYJoy.com/Chappell/specilink/specilink_1.0.xpi

播放器加载中……
读取中……
图书数据加载中……
读取中……
剧集数据加载中……
读取中……
专辑数据加载中……
读取中……
Firefox Download Day 2008
歌曲数据加载中……
读取中……
通讯方式加载中……
读取中……
QR Code 加载中……
读取中……