请先移步这里:转贴: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反而可以找到。 |