| // libredwg-parser-worker.js (ROOT, cùng cấp index.html) | |
| // Bootstrap: chỉ load worker thật local cùng folder. | |
| // Bạn đặt worker thật vào: ./libredwg-parser-worker.real.js | |
| (() => { | |
| const CANDIDATES = [ | |
| "./libredwg-parser-worker.real.js", | |
| ]; | |
| function installFallback(reason) { | |
| self.addEventListener("message", (evt) => { | |
| const msg = evt?.data ?? {}; | |
| const id = msg.id; | |
| if (!id) return; | |
| self.postMessage({ | |
| id, | |
| success: false, | |
| data: null, | |
| error: | |
| "DWG(libredwg) worker chưa có bản thật (đang bootstrap/fallback). " + | |
| "Lý do: " + String(reason || "unknown") + ". " + | |
| "Hãy đặt file worker thật tại ./libredwg-parser-worker.real.js (cùng cấp index.html).", | |
| }); | |
| }); | |
| } | |
| try { | |
| let loaded = false; | |
| for (const url of CANDIDATES) { | |
| try { | |
| importScripts(url); | |
| loaded = true; | |
| break; | |
| } catch (e) {} | |
| } | |
| if (!loaded) installFallback("importScripts failed"); | |
| } catch (e) { | |
| installFallback(e?.message || e); | |
| } | |
| })(); | |