// ==UserScript==
// @license MIT
// @name 頁首頁尾捲動快捷鍵(L改)
// @author L改
// @description (L改)頁首頁尾、頁面捲動scroll、上下左右跳頁快捷鍵、看漫畫往下跳頁面;pageup,pagedown代替
// @description-EN Jump to Top/Bottom of page with hotkeys
// @namespace https://gf.qytechs.cn/scripts/440323
// @version 1.5
// @include *
// @exclude https://mail.google.com/*
// @exclude http://dzh.mop.com/*
// @exclude http://www.douban.com/photos/*
// @grant none
// ==/UserScript==
/* ************************ 頁面效果 ************************ */
//top按鈕已去除
//哆啦B梦的弟弟https://gf.qytechs.cn/scripts/794
//翻頁快捷键
(function () {
var newHeight = document.body.scrollHeight + 9999999999;
//var newWidth = document.body.scrollWidth + 9999999999;
var scroll = {
'4' : function() { scrollBy(-window.innerHeight , 0) },//往左
'b' : function() { scrollBy(-window.innerHeight , 0) },
'B' : function() { scrollBy(-window.innerHeight , 0) },
'5' : function() { scrollBy(window.innerHeight , 0) }, //往右
'n' : function() { scrollBy(window.innerHeight , 0) },
'N' : function() { scrollBy(window.innerHeight , 0) },
'd' : function() { scrollBy(0, window.innerHeight / 2) },
'D' : function() { scrollBy(0, window.innerHeight / 2) },
'c' : function() { scrollBy(0, window.innerHeight / 2) },
'C' : function() { scrollBy(0, window.innerHeight / 2) },
'3' : function() { scrollBy(0, window.innerHeight / 2) }, // 往下半
'a' : function() { scrollBy(0, -window.innerHeight / 2) },
'A' : function() { scrollBy(0, -window.innerHeight / 2) },
'z' : function() { scrollBy(0, -window.innerHeight / 2) },
'Z' : function() { scrollBy(0, -window.innerHeight / 2) },
'1' : function() { scrollBy(0, -window.innerHeight / 2) }, // 往上半
'f' : function() { scrollBy(0, -window.innerHeight-1) },// 往下頁
'F' : function() { scrollBy(0, -window.innerHeight-1) },// 往下頁
'g' : function() { scrollBy(0, window.innerHeight+1) },// 往上頁
'G' : function() { scrollBy(0, window.innerHeight+1) },// 往上頁
'w' : function() { scrollTo(0, 0) },
'W' : function() { scrollTo(0, 0) },// 回頁首
's' : function() { scrollTo(0,document.body.scrollHeight) },
'S' : function() { scrollTo(0,document.body.scrollHeight) },// 回頁尾
};
var formElement = { 'input':true, 'button':true, 'select':true, 'textarea':true };
window.addEventListener('keypress',
function(e) {
if (e.metaKey || e.ctrlKey || e.altKey ||
formElement[e.target.tagName.toLowerCase()] || e.target.isContentEditable || document.designMode ==="on") {
return; }
var key = (e.shiftKey? 'S-' : '') + String.fromCharCode(e.charCode);
if (scroll[key]) {
scroll[key]();
e.preventDefault();
e.stopPropagation();
}
}, false);
})();
/*
//top按钮
function create_top_button() {
var a = document.createElement('span');
var c = 'opacity:0.3;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUBAMAAAByuXB5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAbUExURf///6qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpshoL4AAAAIdFJOUwARM2aImczuGAB4owAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAEZJREFUGNNj6IABBgQLB2BME4CyxDoSIQymio52BTBLHaixCMRgrgCy2g2ALAuwac0MDCxQgx0YIqCsVhTbOIBUA9gUslkA7dcxR/3Xli8AAAAASUVORK5CYII=") no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7);border-radius:5px 5px 5px 5px;cursor:pointer;position:fixed;bottom:50%;width:40px;height:40px;right:0px;z-index:9999';
a.style.cssText = c;
a.addEventListener('mouseover', function(){ a.style.opacity = 1;}, false);
a.addEventListener('mouseout', function(){ a.style.opacity = 0.3; }, false);
a.addEventListener('click', function(){ window.scrollTo(0,0); }, false );
document.body.appendChild(a);
};
if(self == top) create_top_button();
//bottom按钮
function create_bottom_button() {
var newHeight = document.body.scrollHeight + 9999999999;
var b = document.createElement('span');
var c = 'opacity:0.3;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUBAMAAAByuXB5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAbUExURf///6qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpshoL4AAAAIdFJOUwARM2aImczuGAB4owAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAE1JREFUGNNjYGDg6OjoaGAAAfJZHTDAEAFltDKwQFkODAwWYEYzUCFzBZDRbgDSqw5kFYFNYaroaFcAsxjEOhIhDAbGNAEGHABhG5wFAH6qMUfw6SaOAAAAAElFTkSuQmCC") no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7);border-radius:5px 5px 5px 5px;cursor:pointer;position:fixed;top:51%;width:40px;height:40px;right:0px;z-index:9999';
b.style.cssText = c;
b.addEventListener('mouseover', function(){ b.style.opacity = 1; }, false);
b.addEventListener('mouseout', function(){ b.style.opacity = 0.3; }, false);
b.addEventListener('click', function(){ window.scrollTo(0,document.body.scrollHeight); }, false);
document.body.appendChild(b);
};
if(self==top) create_bottom_button();
*/