Showing posts with label Firefox. Show all posts
Showing posts with label Firefox. Show all posts

Tuesday, November 24, 2009

推荐几个Chrome/Chromium使用的扩展和Greasemonkey脚本

介绍几个我正在使用的用于Chrome/Chromium的扩展和Greasemonkey脚本, 今天Google还公布了官方扩展网站, 相信不久之后Chrome/Chromium扩展将会迅速发展.

  1. Vimlike Smooziee

    Firefox下的Vimperator是我的大爱, 像Vim一样浏览网页, 这是一件既酷又便捷的事情. Vimlike Smooziee即是Chrome/Chromium下的Vimperator, 不过现在的功能还没有后者强大, 只支持基本的操作, 如j、k、H、L、d、u、f、F、gg、G、zi、zo、zz等. 让我们期待以后的发展吧.

  2. gPDF

    有时我们不想下载PDF文件, 而是直接在浏览器里打开看看, 以前的方法是安装Adobe Reader, 这样就会在点击PDF链接时自动使用Adobe Reader在浏览器中打开. 不过Adobe Reader实在是有点庞大, 每次打开都要花很长的时间. 现在使用gPDF扩展可以使用Google Docs来打开, 速度很快, gPDF还提供有Greasemonkey脚本Firefox扩展.

  3. Folders4Gmail

    Folder4Gmail

    这是一个Greasemonkey脚本, 和下一个将要介绍的一样, 属于Firefox扩展Better Gmail 2的其中一个组件. 最新版的Chrome/Chromium已经支持安装Greasemonkey脚本了, 不过还是会发生无法使用某些脚本的杯具. Folders4Gmail脚本的作用是利用Gmail的标签建立树形列表, 如图中所示, 将标签命名为"eBook/Biography", 这样"eBook"就是"Biography"的父目录. 这个脚本对于标签分类很有用处.

  4. Gmail - Add Row Highlight

    这个脚本可以让鼠标滑过的邮件高亮显示, 在邮件很多时可以不至于眼睛看花, XD

Thursday, November 12, 2009

Jetpack 0.6: 爱与恨之歌

Jetpack 0.6在10月7日隆重发布, 这一版本带来了两个激动人心的新特性: 菜单和用户配置. 意味着现在可以很方便地添加菜单, 不管是系统菜单, 还是上下文菜单. 而"用户配置"的加入也使得Jetpack扩展对用户来说拥有了可定制性. 这两个功能刚好我都需要用在SNS All in One的下一个版本里, 于是从Jetpack 0.6一发布就开始折腾, 弄了这么几天, 结果是越弄越没有信心. 第一件让人烦心的事我在[解决Jetpack 0.5以上版本在Shiretoko中出错的问题]中已经提到了, 不过我换成Firefox 3.5也就把问题解决了. 接下来才是真正恼火的事情, Jetpack 0.6的jQuery很是抽筋, 导致我以前的代码都得修改, 而且错误也是莫名其妙, 什么"context.createElement is not a function"之类的. 这里有人也遇到了同样的错误, 并且指出了怎样解决, 我就照着别人代码的样子试着改了一下我的代码, 解决了一部分问题, 但还有一部分是整死也解决不了, 这不禁让我开始怀念美好的Jetpack 0.4, 现在的bug真是多.

鉴于Jetpack现在的不稳定表现, 暂时停止SNS All in One的开发, 专心弄我的另一个小玩具, 那些新特性也只有等以后再添加了.

P.S. 今天在Jetpack的邮件列表里发现居然有人看了我的那篇[解决Jetpack 0.5以上版本在Shiretoko中出错的问题], 估计是用Google翻译了再看的.

SNS All in One 0.0.3 Released, 支持Jetpack 0.6

这个版本针对刚刚发布的Jetpack 0.6做了一点修改, 主要是因为Jetpack 0.6的API有点抽筋, 这个我会在下一篇文章中讲到. 此外还修复了一个豆瓣的链接bug.

由于Mozilla已经推出了官方的Jetpack扩展网站: Jetpack Gallery, 以前那个在Userscripts.org上的页面也就停止更新了, 全面转向新的页面: http://jetpackgallery.mozillalabs.com/jetpacks/80, 请以前安装了SNS All in One的各位先把以前的卸载了, 再到新的页面上安装. 卸载方法为: 打开"about:jetpack"页面, 在"Installed Features"标签里找到"SNS All in One", 点击"uninstall"即可. 然后升级到Jetpack 0.6, 到新的页面安装.

如果你是第一次使用SNS All in One, 推荐在安装后阅读"SNS All in One 用户指南".

更多版本信息, 请参阅"SNS All in One Release Notes".

Monday, November 9, 2009

解决Jetpack 0.5以上版本在Shiretoko中出错的问题

2009.10.11, 22:56更新:
经过测试, 发现Shiretoko中Jetpack的某些错误也存在于Firefox 3.5中, 看来这回又是Jetpack的问题了.

2009.10.9, 22:00更新:
经过实际测试之后发现用下面的方法还是不能完全修正Jetpack的错误, 比如jQuery的部分API可能失效, 暂时不推荐在Shiretoko中使用Jetpack 0.5及以上版本.

恐怕很多人还没听过Shiretoko, 一般不用Linux的话是不会察觉到Firefox其实还有一个名字. Shiretoko是Firefox的开发代号, 除了logo少了那只趴在地球上的狐狸外, 其它和Firefox没有差别. 我第一次遇见是在使用Arch的时候, 当时使用源安装的Firefox, 结果打开却叫做Shiretoko, 还以为安错了. 然后我现在使用的Ubuntu 9.04源里的Firefox 3.5也是叫做Shiretoko, 这其实没什么, 只是名字不同而已, 本质都是一样的, 可没想到这会影响Jetpack的使用.

以前我写过一篇叫做[SNS All in One在Jetpack 0.5中失效]的文章, 原因是在Jetpack 0.5中侧边栏无缘无故地消失了, 并且"about:jetpack"页面也有显示错误和链接点击错误, 如下图:
Jetpack Error
开始还以为是Mozilla官方在更新的时候出错了, 因为Jetpack 0.4都是好的. 前天Jetpack 0.6出来了, 当我更新完毕后发现错误依旧, 就开始怀疑是否仅仅是我这里有问题. 打开"Error Console", 一一排查起来.

进入"about:jetpack"页面的第一个错误是"XULApp is not defined", 指向了"file:///home/xiaogaozi/.mozilla/firefox-3.5/cavgighj.dev/extensions/jetpack@labs.mozilla.com/modules/xulapp.js Line: 127", 打开"xulapp.js", 简单分析了下代码, 发现如下的条件语句:
if (Application.name == "Firefox")
{
    XULApp = { ... };
}
else if (Application.name == "Thunderbird")
{
    XULApp = { ... };
}
看来是先判断了程序的类型后再给"XULApp"赋的值, 怪不得在我这里会出错, 因为我的是Shiretoko, 囧. 模仿前面的代码, 再写一个"else"分支, 把在"Firefox"分支中的语句都放到里面:
if (Application.name == "Firefox")
{
    /*
     * Firefox分支
     */
    XULApp = { ... };
}
else if (Application.name == "Thunderbird")
{
    XULApp = { ... };
}
else
{
    /*
     * 这里的代码与'Firefox分支'相同.
     */
    XULApp = { ... };
}
重启浏览器就一切正常了, 也终于可以享受Jetpack 0.6带来的新功能了.

P.S. 前天在发布Jetpack 0.6的同时, Mozilla也正式公布了Jetpack扩展的官方网站: Jetpack Gallery, 终于有了归属地了, 过几天会发布新的SNS All in One, 到时候也会转过去.

Thursday, September 17, 2009

SNS All in One在Jetpack 0.5中失效

今天升级到了最新的Jetpack 0.5, 结果发现SNS All in One失效了, 侧边栏也不见了. 经过一番调查, 发现是Jetpack 0.5自身的问题, 并且也有人和我一样遇到了类似的问题, 只能等待Mozilla来解决了. 如果已经升级到0.5了, 卸载之后重新安装Jetpack 0.4即可正常使用.

Saturday, August 15, 2009

SNS All in One 0.0.2 Released

校内改名人人了, 以前的http://m.xiaonei.com/也用不了了, 这个版本把校内的网址改成了: http://m.renren.com/, 如果你以前安装的时候勾选了"Auto-update this feature", 那过一段时间Jetpack会自动更新的, 可以不用管. 或者可以到这里重新安装最新版本.

Friday, August 7, 2009

SNS All in One 0.0.1 Released

以前总在想, 能否像TwitterFox那样方便地更新我的校内, 查看校内好友的新鲜事和豆瓣的友邻广播呢? 我需要实现这样一种功能, 能够在我想看的时候很方便很快速地看到, 而其它时间则隐藏起来. 自从了解了Jetpack, 我就在思考着能否实现这个想法. 经过几天的编写, 就有了SNS All in One这个Jetpack扩展.

SNS All in One是一个Jetpack扩展, 主要使用Jetpack的slide bar (侧边栏) 特性, 现在实现的功能就像上面说的一样, 可以查看手机校内的所有内容, 以及豆瓣的友邻广播. 截图如下:

SNS All in One - 豆瓣
查看豆瓣友邻广播

SNS All in One - 校内
查看手机校内

功能很简单, 点击侧边栏的图标可以刷新页面. 由于侧边栏不能复制链接, 可以选择拖动链接到Firefox主窗口中打开. 不过需要注意下, 这个扩展只支持Firefox 3.5及以上版本.

欢迎提供各种反馈, 请将意见提交到Google Code或者Userscripts.org的Discussions页面上, 也可以给我发送邮件: gaochangjian[at]gmail[dot]com, Because it's your web.

Introduction to Jetpack

Jetpack
JetpackMozilla Labs推出的一种全新的Firefox扩展方式, 官方的一句话很好地解释了Jetpack的作用:
In short, Jetpack is an API for allowing you to write Firefox add-ons using the web technologies you already know.
这篇文章旨在全面但不深入地介绍Jetpack的特性, 帮助用户和开发人员更好地了解Jetpack.

抄袭下可能吧的经典绿条, 希望Jason Ng同学不要介意.

一、怎样获得Jetpack?

不管你是运行还是开发Jetpack扩展, 都需要首先安装Jetpack的Firefox扩展 (这句话有点绕, 可以把后一个扩展看作是Jetpack的API包), 就像平时安装Firefox扩展一样, 下载安装完毕后重启Firefox就行了.

二、对于普通用户, Jetpack该怎样使用?

只要你安装了刚才的扩展, 当打开包含Jetpack程序的页面时Firefox就会自动提醒你是否安装:
Install Jetpack

点击"Install..."以后, 可能会转到一个Firefox的警告页:
Jetpack Warning
不用紧张, 只要你是从可信赖的站点安装的就没有问题, 这时需要等到代码加载完毕, 然后就可以点击按钮安装了, 也可以勾选上"Auto-update this feature", 以便自动更新.

当显示"Installation Successful"之后, 一个Jetpack扩展就算安装完毕了, 这同时也是Jetpack不同于普通Firefox扩展的一点: 安装后不需要重启, 删除也是.

在哪里查看所有安装的Jetpack扩展呢? 请打开about:jetpack页面, "Installed Features"里就显示了全部信息, 点击"uninstall"即可删除扩展.

由于现在Mozilla还没有专门为Jetpack建立扩展页面, 所以目前推荐到Userscripts.org的Jetpack页面查找扩展.

三、开发人员指南

如果你是一名Web开发人员, 或者有过Web开发的经验, 那你基本上已经具备了开发一个完整的Jetpack扩展的能力. 开发Jetpack扩展所需的技术和工具有: JavaScript, HTML, CSS, jQuery, Firebug, 以及你喜爱的编辑器.

如果你想快速直观地了解Jetpack的功能, 可以观看官方的这个视频:

Mozilla Labs Jetpack - Intro & Tutorial from Aza Raskin on Vimeo.

Jetpack现在还处于发展阶段, 只能实现一些比较小的功能, 比如对剪贴板 (clipboard), 消息提示 (notification), 侧边栏 (slide bar), 状态栏 (status bar), 菜单栏 (menu bar), 标签 (tab)等的操作. 同时, Jetpack包含了jQuery和封装好的Twitter库, 以及实现JS的跨域访问.

about:jetpack里有完整的API索引与示例, Jetpack Demos也包含了各种示例, MozillaWikiLabs/Jetpack版块有很多关于Jetpack的资料和示例代码, 还有Jetpack的Google Groups与IRC (#jetpack@irc.mozilla.org) 供大家讨论.

四、结语

Userscripts.org网站底部有这样一句话: Because it's your web. 期待Jetpack的发展, 让Web变得越来越舒适.

Thursday, July 23, 2009

调教Firefox 3.5

昨天换上了Firefox 3.5 (以下简称FF 3.5), 是因为昨天才发现比较好的过渡方法, 是不是有点out了...
$ sudo apt-get install firefox-3.5

当我怀着兴奋与喜悦的心情打开FF 3.5时, 我不禁发现这页面是不是有点走样了. 如下图:
New Tab Button
那个打开新标签的图标很碍眼地挡在了第一个和第二个标签之间, 而且由于Vimperator的缘故, 当打开新标签的时候, 那个加号图标不会像正常的那样一直跟着走, 不过对于Vimperator来说这个图标也用不上. 于是我想把它隐藏了, 还原成以前的样子. 在这篇帖子的帮助下解决.

首先进入你的Firefox的Profile folder, 比如我的是: ~/.mozilla/firefox-3.5/5p41abxo.default, 然后修改chrome子目录下的userChrome.css文件, 没有则新建. 添加以下内容:
.tabs-newtab-button
{
  display: none;
}
重启浏览器即可.

接下来出现问题的是"我最喜爱的Firefox扩展"之一的TwitterFox, 很可恶的, FF 3.5的隐私模式 (后面还会再次谈到它) 的快捷键和TwitterFox默认的弹出窗口快捷键是一样的. 不过更可恶的是当我想要改变TwitterFox的默认快捷键时, 它却一直弹出这样一句话: New keyboard shortcut affects only new windows. 没怎么搞懂这句话是什么意思, 反正就是改不了. 在Twitter上发了问题, 不过没人回我. 但我还不想就这样罢休, 终于让我找到了方法. 打开"about:config", 搜索"twitternotifier.togglePopup", 将Value改为"P,,control alt"就行了, 你可以根据你自己的情况修改一下, 我这里把快捷键改为了Ctrl+Alt+P.

最后来说说FF 3.5新增的隐私模式 (Private Browsing). 在我看来, 这是一个完全鸡肋的功能. 虽然我很喜欢隐私模式的浏览方式, 但是FF 3.5设定的这种方式简直太"别出心裁"了, 每次从隐私模式退回来的时候原来的所有标签都要重新加载一次, 这个不仅浪费了时间, 还可能因此丢失掉以前页面上的一些东西, 所以说是完完全全的鸡肋. 相比之下, 我就更喜欢Chrome/Chromium的隐私模式 (incognito), 而且那个图标也挺酷的. 这里有一篇详细比较FF 3.5和Chrome 3的隐私模式的文章.

继续试用FF 3.5中, 昨天TX因为FF 3.5频繁假死已经快抓狂了...

Tuesday, July 14, 2009

为Blog增加了"划词搜索"

在安装SmarterFox这个扩展时发现官方网站上还提供了一个有用的Widget: FinderFox, 可以实现鼠标选定一些词之后在Google、Wikipedia、Twitter等中搜索, 或者Tweet选定的部分, 如下图:
FinderFox

于是把这个功能加到了我的Blogger上, 在模板里添加以下JS代码:
<script type="text/javascript">
var finderfoxConfig = {
version: "1.0.0",
key: "ed1abb67243a4ca30000012276fecd47"
};
document.write(unescape('%3Cscript type="text/javascript" src="'+
('https:'==document.location.protocol?'https://ssl.':'http://')+
'finderfox.smarterfox.com/finderfox.js"%3E%3C/script%3E'));
</script>
此外, 还可以到网站上自己去定制一些搜索引擎.

Monday, June 22, 2009

收集你的Firefox扩展

Amo Fox
前段时间Mozilla在Firefox扩展网站上添加了一个新功能: Collections. 这是一个为注册用户提供的个性化服务, 将你喜欢的Firefox扩展都添加到你自己创建的Collections里, 同时还能把这些分享给别人.

觉得这样很方便, 以后走到哪都可以看到我的常用扩展了. 这是小高子的Collections, 右侧的"小高子的Web 2.0"栏目里也添加了这个链接. 同时从侧面显示了我是一个Firefox重度依赖者, 希望Chrome也能有好的扩展出现.

Monday, April 27, 2009

近期的一些杂感

由于这几周都在忙着做事, 有好几篇blog想发却一直搁置着, 今天就把它们都写到一起吧.

先说攻防吧, 最近又出新题了还没去看, 对于注入这种层次的题目暂时不想了, 其它的什么编程题还能应付下, 无奈比例不大, 不能让队伍再靠前一点. 因为某题需要用到PHP的编程, 于是在重拾Emacs时发现默认是不支持PHP的高亮的, 这种事情肯定有人想到并解决了的, 安装php-mode就行了, Ubuntu可以直接apt-get install php-mode, 也可以自己到SF上去下载, 然后修改.emacs:
;; PHP mode for Emacs.
(require 'php-mode)
(add-hook 'php-mode-user-hook 'turn-on-font-lock)

以前的文章[参加三叶草Linux方向考核的一些总结]中介绍了一个叫做template的Emacs插件, 可以实现新建特定扩展名的文件时自动加载模板的功能, 像现在的某些IDE一样. SHE同学前段时间因为用Vim写汇编时必须重复地输入那些又长又难记的SEGMENT而苦恼, 问我Vim是否能自动加载模板. 查了一下, 还挺简单的, 这个不需要任何插件就能实现了. 修改.vimrc:
" Template for Vim.
autocmd BufNewFile *.asm 0r ~/.vim/templates/template.asm
注意中间那个是数字0, 而不是字母o. 把你的模板放在相应的文件里, 如果需要其它类型的模板修改扩展名就行了. 以上方法来自LinuxSir.Org.

由于最近需要经常测试网页, 愈发觉得用当前的Firefox调试很麻烦. 最让人痛苦的一点就是如果调试页面崩溃了, 还要连带影响我的正常浏览页面, 不得不一次又一次地重启. 实在是忍受不了之后 (看来我还是一个很能忍的人), 决定来一个专业一点的调试方法. 来自Mozilla的一篇文章:
Setting up an extension development environment
介绍了如何利用Firefox打造调试环境, 解决我前面那个问题的方法就是使用多用户配置文件, 实话说, 用了这么久Firefox还真不知道可以多用户运行的... 使用如下命令启动Firefox:
$ firefox -no-remote -P dev
这时应该会弹一个选择用户配置文件的窗口, 因为以前没有dev这个配置文件, 需要新建一个才行. 建好以后再用上面的命令运行的时候就会使用dev, 而不是默认的default了, 这样新开的浏览器与我之前打开的就不会相互影响了. 那篇文章还介绍了Firefox的一些配置调整以适应调试的需求和一些有用的调试插件, 这里强烈推荐Firebug, 看网页结构那叫一个爽.

最后, 那天看到一个很搞的命令: vrms. 为什么说它搞呢? 先看看这个缩写的全称吧: Virtual Richard M. Stallman. 那这个命令是用来干什么的呢? 号称可以找出你电脑上所有的非自由 (non-free) 软件, 晒下我的结果, ORZ... 内核也算?
                Non-free packages installed on LAN

fglrx-amdcccle Catalyst Control Center for the ATI graphics accelerat
fglrx-kernel-source Kernel module source for the ATI graphics accelerators
fglrx-modaliases Identifiers supported by the ATI graphics driver
human-icon-theme Human Icon theme
linux-generic Complete Generic Linux kernel
linux-restricted-modules- Non-free Linux 2.6.27 modules helper script
linux-restricted-modules- Restricted Linux modules for generic kernels
nvidia-173-modaliases Modaliases for the NVIDIA binary X.Org driver
nvidia-177-modaliases Modaliases for the NVIDIA binary X.Org driver
nvidia-71-modaliases Modaliases for the NVIDIA binary X.Org driver
nvidia-96-modaliases Modaliases for the NVIDIA binary X.Org driver
rar Archiver for .rar files
tangerine-icon-theme Tangerine Icon theme
tango-icon-theme Tango Icon theme
Reason: Creative Commons Attribution-ShareAlike 2.5 License
xorg-driver-fglrx Video driver for the ATI graphics accelerators

Contrib packages installed on LAN

msttcorefonts Installer for Microsoft TrueType core fonts
nvidia-common Find obsolete NVIDIA drivers

15 non-free packages, 0.9% of 1628 installed packages.
2 contrib packages, 0.1% of 1628 installed packages.

Monday, February 2, 2009

备份你的Firefox

作为一个患有Firefox (以下简称FF) 重度依赖症的患者, 我需要随时同步和备份我的书签、扩展、主题和配置, 这样才能使操作发挥得淋漓尽致. 下面将介绍两个有用的扩展来帮助自动完成这些琐碎.

1. Foxmarks Bookmark Synchronizer
看名字就知道了, 这是用来同步书签的. 初次安装好以后, 你需要注册一个帐号用来保存你的书签, 这个帐号可以在http://www.foxmarks.com/上登录, 在那里你可以看到你上传到服务器上的书签. 当然, 一般情况下我们是不用去注意这些的. 你需要做的就是, 保证打开FF的时候Foxmarks是打开并且登录的 (一般我都是直接记住密码的, 这样就根本不用去操心了), 然后你就可以放心干你的事情了, Foxmarks会自动在你添加或者删除书签的时候记录, 并在某个时间帮你同步到服务器上.

2. FEBE (Firefox Environment Backup Extension)

FEBE

这个扩展可以干的事情就比较多了, 它可以备份你的所有扩展、主题、配置、书签、cookies... 所有备份下来的东西都会保存到你指定的文件夹中, 你可以设置这个备份好的文件夹带有时间戳, 这样就可以分辨时间先后了. 然后当你需要同步到另一个FF上时, 将这个备份文件夹带过去就行了. 这样似乎也太麻烦了, 没关系, FEBE还带有自动上传到Box.net的功能, 它会自动在你的Box.net的帐户上建立一个叫做FEBE backups的文件夹, 里面包含的东西和你本机上的是一样的, 这样不论走到哪都可以随时下载下来同步了, fucking 爽~

友情提示: 不要用FEBE来备份书签, 因为它只会保留一个副本, 所以那些和这个副本不同的书签都会被删掉, 书签的话还是用Foxmarks好了.

Sunday, January 25, 2009

Firefox的快速访问插件: SiteLauncher

SiteLauncher
这是一个看起来和GNOME Do差不多的东西, 用快捷键呼出SiteLauncher以后, 就可以按照自定义的key来访问网站了. 把你经常光顾的网站加进去, 借助SiteLauncher快速地访问, 最好是先打开想要添加的网站, 然后通过菜单或者快捷键 (Ctrl+Shift+S) 来添加, 这样添加以后就会有网站的图标 (fashion) 了.

你可以在这里下载.

Saturday, June 28, 2008

Vimfox

Vimperator

这几天在网上看很多大段的内容, 又懒得去碰鼠标的滚轮, 于是就想只依托键盘来滚动页面, 但那几个方向键按起来是非常得不爽, 滚动一点都不平滑, 再加上Vim也用习惯了, 就去整了这么一个插件.

好了, 现在向大家隆重推出史上最牛X的插件--Vimperator
使用甚是简单, 请参阅:help

Friday, May 9, 2008

GNUzilla and IceCat


看名字就知道这是仿照Mozilla的Firefox, 今天逛坛子时才发现的, 以前叫做IceWeasel, 冰鼬, 这是一个基于GNU的完全自由的Firefox浏览器版本, FF虽然是开源的, 但它的商标却是有专利权的. 一切都是为了真正的自由.