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

快捷键uc脚本如何实现同一个键按两次生效

楼主#
更多 发布于:2017-10-23 09:50
比如我这个脚本设定e为撤销关闭标签页。如何改成按两次e恢复标签页呢。
uc脚本又可以使用了。最新版每夜版都有效果。各种内页下脚本统统有效。各种标签管理脚本又可以用了。大家快抛弃扩展吧。因为所有的扩展在内页上都不生效。







// ==/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 'c' : $("Browser:Back").doCommand(); break;//后退
        case 'v' : $("Browser:Forward").doCommand(); break;//前进
            //keyconfig扩展的快捷键设置和用户自定义设置添加到下面:
 case "e": document.getElementById('History:UndoCloseTab').doCommand(); break;//撤销关闭标签页



//
        default: return;
        
    }
    e.preventDefault();
}
 
gBrowser.mPanelContainer.addEventListener('keydown', keyconfig, false);
})();
fanmli
小狐狸
小狐狸
  • UID51688
  • 注册日期2015-11-08
  • 最后登录2021-09-29
  • 发帖数54
  • 经验71枚
  • 威望0点
  • 贡献值70点
  • 好评度9点
  • 社区居民
  • 忠实会员
1楼#
发布于:2017-10-23 19:21
上传完整脚本打包!
warb
非常火狐
非常火狐
  • UID51578
  • 注册日期2015-10-28
  • 最后登录2019-05-04
  • 发帖数639
  • 经验666枚
  • 威望0点
  • 贡献值816点
  • 好评度27点
2楼#
发布于:2017-10-24 09:21
fanmli:上传完整脚本打包!回到原帖
什么意思。如何实现按两次e生效。而不是按一次e就生效
游客

返回顶部