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

14 lines
893 B
JavaScript

const fs = require('fs');
let code = fs.readFileSync('src/components/TerminalPanel.vue', 'utf8');
// 1. Remove that duplicate touchstart preventDefault logic completely
code = code.replace(/\s*\/\/ 必须阻止 touchstart.*\n\s*if \(event\.cancelable.*\n\s*event\.preventDefault\(\);\s*\n\s*\}/g, '');
// 2. In touchmove, add the preventDefault ONLY IF selection is not active
code = code.replace(/(\/\/ Stop xterm from intercepting this manually\s*\n\s*event\.stopImmediatePropagation\(\);)/g, `$1\n\n // 阻止 iOS 原生滚动,确保 move 事件不被吞噬\n if (event.cancelable) { event.preventDefault(); }\n`);
// 3. Let's remove the duplicated pointer scroll logic since we rely on touchmove for scroll
code = code.replace(/\/\/ --- Pointer Scroll Sync ---.*?\/\/ --- Pointer Scroll Sync End ---/gs, '');
fs.writeFileSync('src/components/TerminalPanel.vue', code);