play.html: elimină injecția dinamică — motor în <script> normal + wrapper
Brave pica la orice injecție textContent/blob a scriptului (encoding bug).
Fix definitiv: scriptul motorului devine <script> normal cu wrapper
window.__runGame=function(){...}; loader-ul apelează __runGame() după
ce setează window.MASTER. Zero injecție dinamică, zero encoding issues.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
17
play.html
17
play.html
@@ -361,19 +361,13 @@ var TPL = {"classic":"\u003c!doctype html>\n\u003chtml lang=\"ro\">\n\u003che
|
|||||||
document.getElementById('intro-title').textContent='Link invalid sau corupt. Regenerează QR-ul din builder.';
|
document.getElementById('intro-title').textContent='Link invalid sau corupt. Regenerează QR-ul din builder.';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var runEl=document.getElementById('run');
|
if(typeof window.__runGame!=='function'){document.getElementById('intro-title').textContent='Eroare internă: motor lipsă.';return;}
|
||||||
if(!runEl){document.getElementById('intro-title').textContent='Eroare internă: motor lipsă.';return;}
|
try { window.__runGame(); }
|
||||||
/* ASCII-ify: Brave respinge non-ASCII in comentarii JS (encoding mismatch) */
|
catch(e){ document.getElementById('intro-title').textContent='Eroare joc: '+e.message; }
|
||||||
var runCode=runEl.textContent.replace(/[^\x00-\x7F]/g,function(c){
|
|
||||||
return '\\u'+('000'+c.charCodeAt(0).toString(16)).slice(-4);
|
|
||||||
});
|
|
||||||
var s=document.createElement('script');
|
|
||||||
s.textContent=runCode;
|
|
||||||
try { document.body.appendChild(s); }
|
|
||||||
catch(e){ document.getElementById('intro-title').textContent='Eroare browser: '+e.message; }
|
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script type="text/plain" id="run">
|
<script>
|
||||||
|
window.__runGame=function(){
|
||||||
var MASTER=window.MASTER;
|
var MASTER=window.MASTER;
|
||||||
/*
|
/*
|
||||||
* ASCII DIAGRAM — contractul parent.*:
|
* ASCII DIAGRAM — contractul parent.*:
|
||||||
@@ -1063,6 +1057,7 @@ buildDots();
|
|||||||
startTimer(); /* resume → reia ceasul de la deadline-ul absolut salvat */
|
startTimer(); /* resume → reia ceasul de la deadline-ul absolut salvat */
|
||||||
startMusic(); /* resume → reia muzica (T10) */
|
startMusic(); /* resume → reia muzica (T10) */
|
||||||
})();
|
})();
|
||||||
|
}; /* end __runGame */
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user