18 lines
898 B
JavaScript
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);
|