play.html: try/catch în loader + .nojekyll
- inflateFromBase64url: prinde JSON corupt cu mesaj clar - appendChild: prinde SyntaxError de browser cu mesaj util - null-check pe #run element (race condition paranoia) - .nojekyll: previne Jekyll să proceseze fișierele Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
14
play.html
14
play.html
@@ -355,8 +355,18 @@ var TPL = {"classic":"\u003c!doctype html>\n\u003chtml lang=\"ro\">\n\u003che
|
|||||||
(async function(){
|
(async function(){
|
||||||
var h=location.hash.slice(1);
|
var h=location.hash.slice(1);
|
||||||
if(!h){document.getElementById('intro-title').textContent='Niciun joc în acest link.';return;}
|
if(!h){document.getElementById('intro-title').textContent='Niciun joc în acest link.';return;}
|
||||||
window.MASTER=JSON.parse(await inflateFromBase64url(h));
|
try {
|
||||||
var s=document.createElement('script');s.textContent=document.getElementById('run').textContent;document.body.appendChild(s);
|
window.MASTER=JSON.parse(await inflateFromBase64url(h));
|
||||||
|
} catch(e) {
|
||||||
|
document.getElementById('intro-title').textContent='Link invalid sau corupt. Regenerează QR-ul din builder.';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var runEl=document.getElementById('run');
|
||||||
|
if(!runEl){document.getElementById('intro-title').textContent='Eroare internă: motor lipsă.';return;}
|
||||||
|
var s=document.createElement('script');
|
||||||
|
s.textContent=runEl.textContent;
|
||||||
|
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 type="text/plain" id="run">
|
||||||
|
|||||||
Reference in New Issue
Block a user