您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
一个简单的鼠标手势脚本
当前为
- // ==UserScript==
- // @name My Mouse Gestures
- // @name:zh-CN 我的鼠标手势
- // @name:zh-TW 我的滑鼠手勢
- // @description A simple mouse gesture script
- // @description:zh-CN 一个简单的鼠标手势脚本
- // @description:zh-TW 一個簡單的滑鼠手勢腳本
- // @version 0.1.2
- // @include *
- // @run-at document-start
- // @grant GM_openInTab
- // @noframes
- // @namespace https://greasyfork.org/users/4968
- // ==/UserScript==
- // --- Settings ---
- var SENSITIVITY = 3; // 1 ~ 5
- var TOLERANCE = 3; // 1 ~ 5
- var funcs = {
- 'DR': function() {
- window.top.close();
- },
- 'U': function() {
- window.scrollTo(0, 0);
- },
- 'D': function() {
- window.scrollTo(0, 1073741824);
- },
- 'L': function() {
- window.history.back();
- },
- 'R': function() {
- window.history.forward();
- },
- 'RU': function() {
- GM_openInTab('about:newtab', false);
- },
- 'UD': function() {
- window.location.reload();
- }
- };
- // ----------------
- var s = 1 << ((7 - SENSITIVITY) << 1);
- var t1 = Math.tan(0.15708 * TOLERANCE), t2 = 1 / t1;
- var x, y, path;
- var canvas, g;
- function createCanvas() {
- canvas = document.createElement('canvas');
- canvas.style.position = 'fixed';
- canvas.style.zIndex = 255;
- canvas.style.top = 0;
- canvas.style.left = 0;
- document.body.appendChild(canvas);
- canvas.width = document.body.clientWidth;
- canvas.height = document.body.clientHeight;
- g = canvas.getContext('2d');
- g.lineWidth = 3;
- g.moveTo(x, y);
- }
- function tracer(e) {
- var cx = e.clientX,
- cy = e.clientY,
- deltaX = cx - x,
- deltaY = cy - y,
- slope = Math.abs(deltaY / deltaX),
- distance = deltaX * deltaX + deltaY * deltaY,
- direction = '';
- if (distance > s) {
- if (slope > t1) {
- if (deltaY > 0) {
- direction = 'D';
- } else {
- direction = 'U';
- }
- } else if (slope <= t2) {
- if (deltaX > 0) {
- direction = 'R';
- } else {
- direction = 'L';
- }
- }
- if (path.slice(-1) != direction) {
- path += direction;
- }
- x = cx;
- y = cy;
- g.lineTo(x, y);
- g.stroke();
- }
- }
- window.addEventListener('mousedown', function(e) {
- if (e.which == 3) {
- x = e.clientX;
- y = e.clientY;
- path = '';
- createCanvas();
- window.addEventListener('mousemove', tracer, false);
- }
- }, false);
- window.addEventListener('contextmenu', function(e) {
- window.removeEventListener('mousemove', tracer, false);
- if (path != '') {
- e.preventDefault();
- if (funcs.hasOwnProperty(path)) {
- funcs[path]();
- }
- }
- }, false);
- window.addEventListener('mouseup', function(e) {
- if (e.which == 3) {
- canvas.remove();
- }
- }, false);