warb
非常火狐
非常火狐
  • UID51578
  • 注册日期2015-10-28
  • 最后登录2019-05-04
  • 发帖数639
  • 经验666枚
  • 威望0点
  • 贡献值816点
  • 好评度27点
阅读:3934回复:0

最新标签管理脚本,请注意注释

楼主#
更多 发布于:2016-11-17 13:56
注释:火狐50下,地址栏打开新标签无效

(function() {


// 新标签打开:书签、历史、搜索栏
try {
eval('openLinkIn=' + openLinkIn.toString().
replace('w.gBrowser.selectedTab.pinned', '(!w.isTabEmpty(w.gBrowser.selectedTab) || $&)').
replace(/&&\s+w\.gBrowser\.currentURI\.host != uriObj\.host/, ''));
    }catch(e){}

    // 地址栏新标签打开
   try {
location=="chrome://browser/content/browser.xul" &&
eval("gURLBar.handleCommand="+gURLBar.handleCommand.toString().replace(/^\s*(load.+);/gm,
"if(/^javascript:/.test(url)||isTabEmpty(gBrowser.selectedTab)){loadCurrent();}else{this.handleRevert();gBrowser.loadOneTab(url, {postData: postData, inBackground: false, allowThirdPartyFixup: true});}"));
    }catch(e){}
// 标签上双击刷新
gBrowser.mTabContainer.addEventListener('dblclick', function (event){
if (event.target.localName == 'tab' && event.button == 0){
getBrowser().getBrowserForTab(event.target).reload();
}
}, false);
      

//右键关闭标签页,ctrl+右键打开菜单
    gBrowser.mTabContainer.addEventListener("click",
    function(e) {
        if (e.target.localName == "tab" && e.button == 2 && !e.ctrlKey) {
            e.preventDefault();
            gBrowser.removeTab(e.target);
e.stopPropagation();
        }
    },
    false);
//中键点击书签页菜单不关闭
    try {
        eval('BookmarksEventHandler.onClick =' + BookmarksEventHandler.onClick.toString().replace('node.hidePopup()', ''));
        eval('checkForMiddleClick =' + checkForMiddleClick.toString().replace('closeMenus(event.target);', ''));
    } catch(e) {}
//书签、历史侧边栏
document.getElementById("sidebar-box").addEventListener("load", function(event) {
  var document = event.target;
  if (document.location == "chrome://browser/content/bookmarks/bookmarksPanel.xul"
      || document.location == "chrome://browser/content/history/history-panel.xul") {
    eval("document.defaultView.whereToOpenLink = " + document.defaultView.whereToOpenLink.toString()
      .replace(/return "current";/g, 'return "tab";')
    );
    eval("document.defaultView.openLinkIn = " + document.defaultView.openLinkIn.toString()
      .replace(/(?=if \(where == "save"\))/, 'if (url.substr(0, 11) == "javascript:") where = "current";')
      .replace(/(?=var loadInBackground)/, 'if (w.gBrowser.currentURI.spec == "about:blank" && !w.gBrowser.mCurrentTab.hasAttribute("busy")) where = "current";')
    );
  }
}, true);




//自动关闭下载产生的空白标签
eval("gBrowser.mTabProgressListener = " + gBrowser.mTabProgressListener.toString().replace(/(?=var location)/, '\
      if (aWebProgress.DOMWindow.document.documentURI == "about:blank"\
          && aRequest.QueryInterface(nsIChannel).URI.spec != "about:blank") {\
        aWebProgress.DOMWindow.setTimeout(function() {\
          !aWebProgress.isLoadingDocument && aWebProgress.DOMWindow.close();\
        }, 100);\
      }\
    '));

})();





// ==UserScript==
// @name RightClickPlus.uc.js
// @description 右键新标签页打开链接,在链接上 Ctrl + 右键打开菜单
// ==/UserScript==
(function() {
var x = true;  // false: 前台 | true: 后台

function $(id) document.getElementById(id);

gBrowser.mPanelContainer.addEventListener('click', function(e) {
if (e.button == 2 && !e.ctrlKey) {
var onlink = XULBrowserWindow.overLink;
var href = e.target.href || e.target.parentNode.href || onlink;
if (href && onlink !== "") {
if (/^javascript:/i.test(onlink.toString())) return;
e.preventDefault();
e.stopPropagation();
$("contentAreaContextMenu").hidePopup();
gBrowser.moveTabTo(gBrowser.loadOneTab(href, {inBackground: x}), gBrowser.mCurrentTab._tPos + 1);
}
}
}, false);


})();




//缩放

(function() {
FullZoom.onLocationChange = (function(aURI, aIsTabSwitch, aBrowser) {
var val = 1.35;
var browser = aBrowser || gBrowser.selectedBrowser;
FullZoom._applyPrefToSetting ? FullZoom._applyPrefToSetting(val, browser) : FullZoom._applyPrefToZoom(val, browser);
}).bind(FullZoom);
}());








//右键显示书签菜单
var bookmarksMenu = document.getElementById("bookmarksMenu");
var mainContextMenu = document.getElementById("contentAreaContextMenu");
mainContextMenu.insertBefore(bookmarksMenu, mainContextMenu.firstChild);






 
// ==/UserScript==
(function(){
var keymap = {
'8':'backspace','9':'tab','12':'tenkey5','13':'enter','16':'shift','17':'ctrl','18':'alt',
'19':'pausebreak','20':'shift+capslock','27':'esc','32':'space',
'33':'pageup','34':'pagedown','35':'end','36':'home',
'37':'left','38':'up','39':'right','40':'down','45':'insert','46':'delete',
'48':'0','49':'1','50':'2','51':'3','52':'4','53':'5','54':'6','55':'7','56':'8','57':'9','59':':','61':';',
'65':'a','66':'b','67':'c','68':'d','69':'e','70':'f','71':'g','72':'h','73':'i',
'74':'j','75':'k','76':'l','77':'m','78':'n','79':'o','80':'p','81':'q','82':'r',
'83':'s','84':'t','85':'u','86':'v','87':'w','88':'x','89':'y','90':'z',
'91':'leftwindows','92':'rightwindows',
'96':'0','97':'1','98':'2','99':'3','100':'4','101':'5','102':'6','103':'7','104':'8','105':'9',
'106':'*','107':'+','109':'-','110':'.','111':'/',
'112':'f1','113':'f2','114':'f3','115':'f4','116':'f5','117':'f6',
'118':'f7','119':'f8','120':'f9','121':'f10','122':'f11','123':'f12',
'144':'numlock','145':'scrolllock',
'188':',','190':'.','191':'/','192':'@','219':'[','220':'\\','221':']','222':'^','226':'\\',
'240':'capslock',
};
 
function $(id){ return document.getElementById(id)}
 
function keyconfig(e){
    if (/^(input|textarea|select|textbox)$/i.test(e.target.localName)) return;
    var keycode = e.keyCode;
    if (keycode >= 16 && keycode <= 18) return;
    var command = keymap[keycode] + (e.ctrlKey?'+ctrl':'') + (e.shiftKey?'+shift':'') + (e.altKey?'+alt':'');
 
/* キーを小文字、スペース無し、+で連結、ctrl・shift・altの順で  小写关键字+ctrl・shift・alt+命令的顺序添加 */
    switch(command){//uc.js脚本默认的快捷键设置
        case 'j' : $("Browser:Back").doCommand(); break;//后退
        case 'k' : $("Browser:Forward").doCommand(); break;//前进
            //keyconfig扩展的快捷键设置和用户自定义设置添加到下面:
 case "b": undoCloseTab(); break;//撤销关闭标签页
 case "space":gBrowser.removeCurrentTab(); break;//关闭当前标签页
 case "n":gBrowser.tabContainer.advanceSelectedTab(+1, true); break;//激活右边的标签
 case"m":gBrowser.tabContainer.advanceSelectedTab(-1, true); break;//激活左边的标签
 //case"f6":Services.appinfo.invalidateCachesOnRestart() || BrowserUtils.restartApplication();//重启浏览器


//
        default: return;
        
    }
    e.preventDefault();
}
 
gBrowser.mPanelContainer.addEventListener('keydown', keyconfig, false);
})();
游客

返回顶部