博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

~Q-蛇(^-^)巢-Q~

反恐精英游戏,操作系统,vim编辑器,数据库,家庭生活,摄影图片,性知识
  runsnake.cublog.cn

关于作者
姓名:若寒
职业:痞子写手
年龄:-2
位置:中国
个性介绍:游戏,操作系统,编辑器,生活,摄影,性知识
|| << >> ||
我的分类


Keyconfig使用指南
Keyconfig使用指南

Keyconfig是我最喜欢的Firefox扩展之一,它极大地扩充了Firefox的快捷键定义功能,我甚至可以只用一个字母键作为我的快捷键,可以说它是继Adblock之后又一个把我牢牢捆在Firefox马车上的扩展。我以前尝试过使用Vimperator,后来发现它提供的很多功能我都不怎么用,只有短小精悍的Keyconfig最符合我的需要。写这篇文章的目的,一是为了向大家推广这个扩展,二是发现网上有的同好因为 keyconfig与Firefox 3 Beta的兼容问题而迟迟不能转换到新版的Firefox上来。

一. 什么是Keyconfig?
Keyconfig是Firefox的一个自定义快捷键的扩展,通过它,我们不但可以定义Firefox及其扩展原定义的快捷键,还可以把原来没有定义快捷键的功能绑定到新的快捷键组合上来,例如类似opera浏览器中用z、x键来后退与前进的浏览功能,再如把F1、F2键重定义成到上一个或下一个标签,又如把j、k键定义成页面上下滚动一行等等。

二. Keyconfig的获取
虽然Keyconfig在Mozilla官方论坛上有自己的讨论串,但是它目前不是官方认可的扩展,所以在官方扩展下载页面上无法找到。它的下载在http://mozilla.dorando.at/keyconfig.xpi,目前的版本号是20060828.1,这些年来一直由Dorando维护,最近更新日期是2007年5月23日。

三. Keyconfig的使用

    1. 与Firefox 3 Beta的兼容问题
    由于Firefox 3更改了某些函数名称以及对扩展的安全性作出了新的要求,Keyconfig在未作修改的情况下无法在Firefox 3 Beta中使用。相关修改分成两个方面:修改Firefox设置,修改Keyconfig扩展的源代码。
        1.) 修改Firefox设置
            a) 在Firefox地址栏中输入about:config,将extensions.checkCompatibility和extensions.checkUpdateSecurity都设置成false。如果设置中没有这两个变量,就手动创建之。(注:如果采用下面的可选步骤,那么可以忽略这一步)
        2.) 修改Keyconfig扩展源代码
            a) 关闭Firefox。
            b) 编辑keyconfig-service.js 。假设你的Firefox配置目录为 d:\fx_profile\,则该文件在d:\fx_profile\extensions\keyconfig@dorando/components/中。找到function keyconfigService() { } ,将其修改成function keyconfigService() { this.os.addObserver(this,"stupid-dummy",false); } 。
            c) 将d:\fx_profile\extensions\keyconfig@dorando\chrome\keyconfig.jar拷贝到一个临时目录,将文件改名为keyconfig.zip,然后进行解压。进入解压目录中的content文件夹,编辑keyconfig.js文件。找到Document.createElement("key"),修改为gDocument.createElement("key")。接下来,把解压目录重新压缩成keyconfig.zip,修改文件名成keyconfig.jar,最后将这个文件拷贝覆盖配置目录下的原文件。
            d) 可选步骤:修改d:\fx_profile\extensions\keyconfig@dorando\install.rdf
                i. 为什么选择这个步骤?其一,不用修改Firefox的设置,从而不会降低Firefox的安全性。其二,扩展窗口里面不会有烦人的提示,扩展图标上也没有红色的感叹号了。
                ii. 把<maxVersion>2.0.0.3</maxVersion>中的数字修改成3.0.*;
                iii. 去掉<updateURL>http://mozilla.dorando.at/update.rdf</updateURL>

    2. 与Firefox 2最新版本的兼容问题
    因为没有在用Firefox 2了,所以不知道Keyconfig跟它的兼容情况怎么样。如果有兼容问题的话,其修改应该与上面对Firefox 3的类似,但是不用修改Firefox的设置。

    3. 如何自定义快捷键?
    启动Firefox后,按Ctrl+Shift+F12,或者从菜单命令“工具|Keyconfig”中调出配置窗口。
        1.) 新添快捷键
            a) 点击Add a new key,调出Key Editor窗口;
            b) 在Name文本栏中输入利于记忆快捷键功能的名字,例如xxx_Back(这里用前缀xxx_以跟Firefox中原有的快捷键名字区分);
            c) 选中Global;
            d) 在代码文本框中输入代码
            e) 点OK后按下面的方法定义快捷键组合。
        2.) 更改快捷键
            a) 选中需要更改的项目,例如xxx_Back;
            b) 光标移到下面的文本框里,按下新的快捷键组合,例如按z键;
            c) 点击Apply后重启Firefox使快捷键生效。
            d) 另外点击disable可以禁用快捷键

    4. 我的一些自定义快捷键及代码(括号内为我使用的快捷键)
        1.) 打开新的标签(T):BrowserOpenTab();
        2.) 到下一个标签(2):gBrowser.mTabContainer.advanceSelectedTab(1,true);
        3.) 到上一个标签(1):gBrowser.mTabContainer.advanceSelectedTab(-1,true);
        4.) 撤销最近关闭的标签(u):undoCloseTab();
        5.) 关闭当前标签(d):
        var tab = gBrowser.mCurrentTab;
        gBrowser.removeTab(tab);
        6.) 拷贝当前地址栏内网址(y):
        Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
        gClipboardHelper.copyString(window._content.location.href);
        7.) 转到页面顶部(g):goDoCommand('cmd_scrollTop');
        8.) 转到页面底部(shift+g):goDoCommand('cmd_scrollBottom');
        9.) 向上翻一页(b):goDoCommand('cmd_scrollPageUp');
        10.) 向下翻一页(f):goDoCommand('cmd_scrollPageDown');
        11.) 页面下移一行(j):goDoCommand('cmd_scrollLineDown');
        12.) 页面上移一行(k):goDoCommand('cmd_scrollLineUp');
        13.) 页面左移一栏(h): goDoCommand('cmd_scrollLeft');
        14.) 页面右移一栏(l): goDoCommand('cmd_scrollRight');
        15.) 后退一页(z):BrowserBack();
        16.) 前进一页(x):BrowserForward();
        17.) 在当前页面浏览指定网站(F1):gBrowser.loadURI('http://www.newsmth.net/');
        18.) 在新标签中浏览剪贴板中的网址(p):
        var paste = readFromClipboard();
        if(!paste) return;
        gBrowser.selectedTab = gBrowser.addTab(paste);
        19.) 设置网页编码在GB2312和UTF-8之间切换(alt+g):
        var docCharset = getBrowser().docShell.QueryInterface(Components.interfaces.nsIDocCharset);
        var orig_charset = docCharset.charset;
        if(orig_charset!='GB2312'){
            SetForcedCharset('GB2312');
        } else {
            SetForcedCharset('UTF-8');
        }

发表于: 2008-04-11,修改于: 2008-04-11 13:20,已浏览879次,有评论2条 推荐 投诉


网友评论
网友: 本站网友 时间:2008-04-27 13:11:23 IP地址:124.115.220.★
请问在新标签页中浏览指定网站的命令是什么?
谢谢!

网友: 本站网友 时间:2008-05-03 01:51:56 IP地址:61.186.154.★
太好了,正在到处找这样的资料呢

楼主的blog也忒丰富了

 发表评论