Files
2026-03-04 13:25:26 +08:00

18 lines
898 B
JavaScript

const fs = require('fs');
let code = fs.readFileSync('src/components/TerminalPanel.vue', 'utf8');
const regexTouchMove = /onTouchKeyboardTouchMove = \(event: TouchEvent\) => \{[\s\S]*?touchScrollLastTime = now;\n\s*\};/g;
const newTouchMove = `onTouchKeyboardTouchMove = (event: TouchEvent) => {
// 通过 stopImmediatePropagation 拦截 xterm 内部那些“接管浏览器滚动”的事件处理器。
// 但绝对不要自己掉用 event.preventDefault(),从而把物理滚动和动量动画原模原样还给浏览器与操作系统。
event.stopImmediatePropagation();
};`;
code = code.replace(regexTouchMove, newTouchMove);
// Also remove touchstart redundant vars
code = code.replace(/touchScrollLastY = event\.touches\[0\]\?\.clientY \|\| 0;\n\s*touchScrollLastTime = performance\.now\(\);\n/g, '');
fs.writeFileSync('src/components/TerminalPanel.vue', code);