转贴:Firefox *快捷键*zt
移民生活北美论坛 -> 电子电玩

#1: 作者: Matrix时间: 2008-11-04 16:51

转贴:Firefox *快捷键*

keyconfig扩展由dorando开发。你在这里可以得到他的帮助:keyconfig 20060828.1
本文几乎所有代码都来自这个长贴。谢谢作者dorando以及其他热心的朋友。这里可以下载到dorando开发的一些扩展,包括keyconfig:http://mozilla.dorando.at

由于这些代码散落各处,不易查找,因此整理了一下,权且当作自己的备忘,也与有共同爱好的朋友们分享。

不多废话了。(Firefox 2.0.0.3,keyconfig 20060828.1下测试通过。)

关闭左边标签页:
代码
var tab = gBrowser.mCurrentTab.boxObject.previousSibling;
if(tab) gBrowser.removeTab(tab);


关闭右边标签页:
代码
var tab = gBrowser.mCurrentTab.boxObject.nextSibling;
if(tab) gBrowser.removeTab(tab);


复制当前标签页:
代码
var oldHistory = gBrowser.webNavigation.sessionHistory;
gBrowser.selectedTab = gBrowser.addTab("about:blank");
var newHistory = gBrowser.webNavigation.sessionHistory;
newHistory.QueryInterface(Components.interfaces.nsISHistoryInternal);

for (var i = 0; i < oldHistory.count; i++) { newHistory.addEntry(oldHistory.getEntryAtIndex(i, false), true); }

if(oldHistory.count) gBrowser.webNavigation.gotoIndex(oldHistory.index);


下一个标签页(与ctrl+pagedown同):
代码
gBrowser.mTabContainer.advanceSelectedTab(1,true);


上一个标签页(与ctrl+pageup同):
代码
gBrowser.mTabContainer.advanceSelectedTab(-1,true);


重新载入其它标签页:
代码
var browsers = gBrowser.browsers;
var i = 0;
var l = browsers.length;
var x = gBrowser.mCurrentTab._tPos;

for(; i < l; i++)
if(i != x) try { browsers[i].reload(); } catch(err){};


重新载入所有标签页:
代码
gBrowser.reloadAllTabs();


重新载入左边所有标签页:
代码
var browsers = gBrowser.browsers;
var i = gBrowser.mCurrentTab._tPos - 1;
var l = -1;

for(; i > l; i--)
try { browsers[i].reload(); } catch(err){};


重新载入右边所有标签页:
代码
var browsers = gBrowser.browsers;
var i = gBrowser.mCurrentTab._tPos + 1;
var l = browsers.length;

for(; i < l; i++)
try { browsers[i].reload(); } catch(err){};


定位到最左边标签页:
代码
gBrowser.selectedTab = gBrowser.mTabContainer.firstChild;


定位到最右边标签页:
代码
gBrowser.selectedTab =
gBrowser.tabContainer.childNodes[gBrowser.tabContainer.childNodes.length-1];


关闭其他标签页:
代码
gBrowser.removeAllTabsBut(gBrowser.mCurrentTab);


关闭所有标签页:
代码
gBrowser.removeAllTabsBut(gBrowser.mCurrentTab);
gBrowser.removeCurrentTab();


定位到左邻标签页(不能循环):
代码
gBrowser.mTabContainer.advanceSelectedTab(-1);


定位到右邻标签页(不能循环):
代码
gBrowser.mTabContainer.advanceSelectedTab(1);


在当前标签页右边新建标签页:
代码
var x = gBrowser.mCurrentTab._tPos + 1;
gBrowser.moveTabTo(gBrowser.selectedTab = gBrowser.addTab("about:blank"), x);


高亮关键词后,新建标签页后台搜索(以当前搜索栏搜索引擎,下同):
代码
BrowserSearch.loadSearch(getBrowserSelection(), true);


新建标签页前台搜索:
代码
gBrowser.mPrefs.setBoolPref("browser.tabs.loadInBackground",false);
BrowserSearch.loadSearch(getBrowserSelection(), true);
gBrowser.mPrefs.setBoolPref("browser.tabs.loadInBackground",true);


在当前标签页搜索:
代码
BrowserSearch.loadSearch(getBrowserSelection(), false);


在新窗口打开about:config:
代码
toOpenWindowByType('pref:pref', 'About:config');


书签管理器对话框:
代码
toOpenWindowByType('bookmarks:manager',
'chrome://browser/content/bookmarks/bookmarksManager.xul');


工具—选项对话框:
代码
openPreferences();


附加软件对话框:
代码
toOpenWindowByType('Add-ons:manager',
'chrome://mozapps/content/extensions/extensions.xul');


scrapbook扩展“获取前进行编辑”命令:
代码
if(sbPageEditor.TOOLBAR.hidden ||
document.getElementById("ScrapBookToolbox").hidden) {
sbPageEditor.init();
} else {
sbPageEditor.exit(true);
}

显示/隐藏书签工具栏:
代码
const bmToolbar = document.getElementById("PersonalToolbar");
bmToolbar.collapsed = !bmToolbar.collapsed;


显示/隐藏菜单栏:
代码
var mb = document.getElementById("toolbar-menubar");
mb.collapsed = !mb.collapsed;


页面向右滚动:
代码
goDoCommand('cmd_scrollRight');


页面向左滚动:
代码
goDoCommand('cmd_scrollLeft');


页面向上滚动:
代码
goDoCommand('cmd_scrollLineUp');


页面向下滚动:
代码
goDoCommand('cmd_scrollLinedown');


向下翻页(与space同):
代码
goDoCommand('cmd_scrollPageDown');


向上翻页(与shift+space同):
代码
goDoCommand('cmd_scrollPageup');


回到页首(与home同):
代码
goDoCommand('cmd_scrollTop');


回到页尾(与end同):
代码
goDoCommand('cmd_scrollBottom');


关闭所有正在运行的Firefox程序:
代码
goQuitApplication();


拷贝当前标签页标题:
代码
Components.classes["@mozilla.org/widget/clipboardhelper;1"]
.getService(Components.interfaces.nsIClipboardHelper)
.copyString(content.document.title);


在当前标签打开网页:
代码
gBrowser.loadURI('http://www.google.com/');


在新标签打开网页:(原来还可以用来打开about:config。Great!)
代码
var myUrl = "http://www.baidu.com";
var ff= document.getElementById("content");
var tab = ff.addTab(myUrl);
ff.selectedTab = tab;


以定义的书签关键词在当前标签打开书签(对运行bookmarklets非常有用):
代码
if(window.loadURI) loadURI(getShortcutOrURI('填入你定义的关键词',{}));


类似paste and go,节省一次enter键:
代码
var url = readFromClipboard(); if (url) content.location = url;


跟踪下一链接(论坛的Sprill朋友提供,谢谢。下同。):
代码
var document = window._content.document;
var links = document.links;
for(i = 0; i < links.length; i++) {
if ((links[i].text == '下一頁') ||(links[i].text == '下一页') ||(links[i].text == '下一页>')||(links[i].text == '下一页 »') ||(links[i].text == '下一页>>') || (links[i].text == '[下一页]') || (links[i].text == '【下一页】') ||(links[i].text == 'Next') || (links[i].text == 'next') || (links[i].text == '››') || (links[i].text == '>')) document.location = links[i].href;
}

跟踪上一链接:
代码
var document = window._content.document;
var links = document.links;
for(i = 0; i < links.length; i++) {
if ((links[i].text == '上一頁') ||(links[i].text == '上一页') ||(links[i].text == '<上一页')||(links[i].text == '« 上一页') ||(links[i].text == '<<上一页') || (links[i].text == '[上一页]') || (links[i].text == '【上一页】') ||(links[i].text == 'Previous') || (links[i].text == 'Prev') ||(links[i].text == 'previous') || (links[i].text == 'prev') || (links[i].text == '‹‹') || (links[i].text == '<')) document.location = links[i].href;
}


欢迎指正和补充。

希望大家喜欢。Enjoy!

一点疑问:不知道官方为什么没有收录keyconfig,而keyconfig的辅助扩展functions for keyconfig反而可以找到。




big_envy.gif

#2: 作者: Matrix时间: 2008-11-04 16:59

自定义好了三个快捷键

F1 打开新Tab
F2 切换到前一个tab
F3 切换到后一个tab

这和Maxthon里面的习惯是一样的

big_happy.gif

#3: 作者: Matrix时间: 2009-1-19 23:00

又装了一遍keyconfig,定义了F1键打开一个空白tab,
代码是
gBrowser.selectedTab = gBrowser.addTab("about:blank");
实现了两个动作,开空白tab,然后当前窗口切换到该空白页

现在还想实现把光标定位到地址栏,以方便输入新的地址
应该是什么代码呢?

#4: 作者: 蚂蚁上树时间: 2009-1-19 23:06

Alt+D

#5: 作者: Matrix时间: 2009-1-19 23:07

特别推荐键盘翻页功能

方向键向右,定义为下一页

跟踪下一链接(论坛的Sprill朋友提供,谢谢。下同。):
代码
var document = window._content.document;
var links = document.links;
for(i = 0; i < links.length; i++) {
if ((links[i].text == '下一頁') ||(links[i].text == '下一页') ||(links[i].text == '下一页>')||(links[i].text == '下一页 &raquo;') ||(links[i].text == '下一页>>') || (links[i].text == '[下一页]') || (links[i].text == '【下一页】') ||(links[i].text == 'Next') || (links[i].text == 'next') || (links[i].text == '››') || (links[i].text == '>')) document.location = links[i].href;
}




方向键向左,定义为上一页

跟踪上一链接:
代码
var document = window._content.document;
var links = document.links;
for(i = 0; i < links.length; i++) {
if ((links[i].text == '上一頁') ||(links[i].text == '上一页') ||(links[i].text == '<上一页')||(links[i].text == '&laquo; 上一页') ||(links[i].text == '<<上一页') || (links[i].text == '[上一页]') || (links[i].text == '【上一页】') ||(links[i].text == 'Previous') || (links[i].text == 'Prev') ||(links[i].text == 'previous') || (links[i].text == 'prev') || (links[i].text == '‹‹') || (links[i].text == '<')) document.location = links[i].href;
}


big_happy.gif

#6: 作者: 蚂蚁上树时间: 2009-1-19 23:08

这都是基本的

Ctrl+K search

Ctrl+0-9 第N个tab

Ctrl+tab next tab

Ctrl+Shift+tab prev tab

#7: 作者: 7thGuest时间: 2009-1-19 23:09

Matrix 写道:
又装了一遍keyconfig,定义了F1键打开一个空白tab,
代码是
gBrowser.selectedTab = gBrowser.addTab("about:blank");
实现了两个动作,开空白tab,然后当前窗口切换到该空白页

现在还想实现把光标定位到地址栏,以方便输入新的地址
应该是什么代码呢?


to achieve what you want, you don't need keyconfig at all

just CTRL+T

#8: 作者: Matrix时间: 2009-1-19 23:09

蚂蚁上树 写道:
Alt+D


这个快捷键我知道,
我希望能在F1功能键里实现焦点定位到地址栏,省点力气big_shy-b.gif

#9: 作者: Matrix时间: 2009-1-19 23:11

陆压 写道:
Matrix 写道:
又装了一遍keyconfig,定义了F1键打开一个空白tab,
代码是
gBrowser.selectedTab = gBrowser.addTab("about:blank");
实现了两个动作,开空白tab,然后当前窗口切换到该空白页

现在还想实现把光标定位到地址栏,以方便输入新的地址
应该是什么代码呢?


to achieve what you want, you don't need keyconfig at all

just CTRL+T


哎,按F1开空白tab习惯了,总要去按,被maxthon给惯坏了,
目前实现的是F1开空白tab,Ctrl+d然后输入网址,还想再省省big_shy.gif




移民生活北美论坛 -> 电子电玩


output generated using printer-friendly topic mod, 所有的时间均为 美国太平洋时间

1页,共1

Powered by phpBB 2.0.8
Content received from: 加西网 (温哥华门户), https://www.westca.com