| 4119 | _wifidef.continuous = true; |
| 4120 | _wifidefUpdateRunUI(); |
| 4121 | _wifidefLoop(); |
| 4122 | } |
| 4123 | |
| 4124 | function _wifidefLoop() { |
| 4125 | if (!_wifidef.continuous) return; |
| 4126 | wifidefScan().finally(() => { |
| 4127 | if (_wifidef.continuous) _wifidef.timer = setTimeout(_wifidefLoop, 800); |
| 4128 | }); |
| 4129 | } |
| 4130 | |
| 4131 | function wifidefStopContinuous() { |
| 4132 | _wifidef.continuous = false; |
| 4133 | if (_wifidef.timer) { clearTimeout(_wifidef.timer); _wifidef.timer = null; } |
| 4134 | if (_wifidef.abort) { try { _wifidef.abort.abort(); } catch (e) {} _wifidef.abort = null; } |
| 4135 | const cb = document.getElementById('wifidef-auto'); if (cb) cb.checked = false; |
| 4136 | _wifidefUpdateRunUI(); |
| 4137 | const st = document.getElementById('wifidef-status'); |
| 4138 | if (st) st.textContent = 'Continuous scan stopped'; |
| 4139 | } |
| 4140 | |
| 4141 | function _wifidefUpdateRunUI() { |
| 4142 | const scan = document.getElementById('wifidef-scan-btn'); |