您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
drap canvas when using processon
// ==UserScript== // @name mouse_middle_button_grab // @namespace // @version 0.3 // @description drap canvas when using processon // @author SimonTheCoder // @match https://www.processon.com/* // @grant none // ==/UserScript== (function() { 'use strict'; console.log("mouse_middle_button_grab loaded."); var diaType = "diagram"; var designer_layout = document.getElementById("designer_layout"); if(!designer_layout){ console.log("seems we are drawing mindmap."); designer_layout = document.getElementById("canvas_container"); diaType = "mindmap"; } //var designer_layout = document.getElementById("canvas_container"); console.log("designer_layout:"+designer_layout); var sampleStartX = 0; var sampleStartY = 0; var startTimeStamp = 0; var lastX = 0; var lastY = 0; var global_test_e = null; var middle_down = false; designer_layout.onmousedown = function(e) { if(e.button == 1){ global_test_e = e; lastX = e.x; lastY = e.y; sampleStartX = e.x; sampleStartY = e.x; startTimeStamp = e.timeStamp; //console.log("middle mouse down. x =" + e.x + " y=" +e.y); middle_down = true; //e.stopPropagation(); } }; designer_layout.onmouseup = function(e){ if(e.button == 1){ global_test_e = e; //console.log("middle mouse up. x =" + e.x + " y=" +e.y); //console.log("middle mouse up. lastx =" + lastX + " lastY=" +lastY); //console.log("middle mouse up. time=" + (e.timeStamp - startTimeStamp)); var endSpeed = Math.sqrt((e.x-sampleStartX)*(e.x-sampleStartX) + (e.y-sampleStartY)*(e.y-sampleStartY))/(e.timeStamp - startTimeStamp); //console.log("middle mouse up. lastSpeed= " + endSpeed); lastX = e.x; lastY = e.y; middle_down = false; //e.stopPropagation(); } }; designer_layout.onmousemove = function(e){ if(e.button == 1 && middle_down === true){ //console.log("middle mouse move. x =" + e.x + " y=" +e.y + " lastx =" + lastX + " lasty=" +lastY ); designer_layout.scrollTop = designer_layout.scrollTop - (e.y - lastY); designer_layout.scrollLeft = designer_layout.scrollLeft - (e.x - lastX); lastX = e.x; lastY = e.y; if(e.timestamp - startTimeStamp > 200){ sampleStartX = e.x; sampleStartY = e.x; startTimeStamp = e.timeStamp; } //e.stopPropagation(); } }; designer_layout.onmousewheel = function(e){ if(e.altKey === true){ console.log("zoom: " + e.deltaY); if(e.deltaY > 0){ if(diaType == "mindmap"){ document.getElementById("btn_zoomsmall").click(); }else{ Designer.zoomOut(); } }else{ if(diaType == "mindmap"){ document.getElementById("btn_zoombig").click(); }else{ if(Designer.config.scale < 0.3){ Designer.setZoomScale(0.4); }else{ Designer.zoomIn(); } } } e.preventDefault(); e.stopPropagation(); } }; /* designer_layout.onclick = function(e){ if(e.button == 1){ e.stopPropagation(); } }; */ })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址