HTML/CSS/JS Live-editor

Een minikleine in-browser speeltuin — schrijf HTML, CSS en JS en zie het resultaat live bijwerken in een sandboxed voorbeeldweergave, zonder account of buildstap.

1.204 weergaven

Voorbeeld

Hoe het werkt

Typ in de tabbladen HTML, CSS en JS en het voorbeeldpaneel wordt bijgewerkt terwijl u typt, door het samengevoegde resultaat te renderen in een sandboxed iframe. Het sandbox-attribuut is ingesteld op allow-scripts zonder allow-same-origin, en dat is precies wat het veilig maakt: scripts die in de voorbeeldweergave draaien, worden uitgevoerd in een afzonderlijke, ondoorzichtige origin, waardoor ze de cookies, lokale opslag of DOM van deze pagina niet kunnen lezen — en deze pagina kan op zijn beurt ook niet bij de inhoud van de iframe. Die isolatie is een door de browser afgedwongen beveiligingsgrens, geen louter visueel kader — het is hetzelfde mechanisme waarmee sites niet-vertrouwde inhoud van derden (advertenties, widgets, door gebruikers ingediende codefragmenten) veilig kunnen insluiten, zonder de code erin te hoeven vertrouwen.

Het bewerken zelf is bewust eenvoudig gehouden: drie textareas, geen syntaxismarkering, geen automatisch aanvullen. Dat is een bewuste afweging en geen ontbrekende functie — een echte code-bewerkingservaring (sleutelwoorden herkennen, haakjes koppelen, tags automatisch aanvullen) betekent het laden van een substantiële externe editorbibliotheek, wat extra gewicht en een laadvertraging toevoegt voordat u ook maar één teken kunt typen. Deze tool optimaliseert voor het tegenovergestelde: de pagina openen en meteen beginnen met typen, zonder afhankelijkheden en zonder enige buildstap.

Elke toetsaanslag in een van de drie tabbladen activeert een herbouw: de huidige HTML, de huidige CSS verpakt in een <style>-tag en de huidige JS verpakt in een <script>-tag worden samengevoegd tot één document en in de iframe geschreven. Er is geen diffing of incrementele patching — het volledige voorbeelddocument wordt simpelweg vervangen, wat op deze schaal snel genoeg is om direct aan te voelen, terwijl de implementatie eenvoudig blijft.

Goed om te weten

Omdat alles — bewerken en renderen — in uw browser gebeurt, is er geen server-roundtrip nodig en geen account vereist. Het is goed geschikt om snel een CSS-truc te testen, een JavaScript-bug te isoleren uit een grotere codebase voordat u deze meldt, of een klein component te prototypen voordat u het werkende resultaat naar een echt project kopieert. Niets van wat u typt wordt automatisch ergens opgeslagen, dus behandel het als een kladblok: kopieer alles wat u wilt bewaren voordat u het tabblad sluit.

Veelgestelde vragen

Wordt mijn code ergens naartoe verzonden?

Nee — alles draait lokaal in uw browser. De voorbeeldweergave wordt gerenderd in een sandboxed iframe op dezelfde pagina; er wordt niets geüpload of op een server opgeslagen.

Waarom geen syntaxismarkering?

Het toevoegen van een echte code-editor (syntaxismarkering, automatisch aanvullen) betekent het laden van een zware externe editorbibliotheek. Deze tool blijft bewust lichtgewicht — platte tekstvelden, direct laden, geen afhankelijkheden en niets om te downloaden voordat u kunt beginnen met typen.

Is het veilig om onbetrouwbare code in de voorbeeldweergave uit te voeren?

De voorbeeld-iframe gebruikt sandbox="allow-scripts" zonder allow-same-origin, waardoor scripts erin geen cookies, lokale opslag of iets anders van deze pagina kunnen lezen — het is net zo geïsoleerd als een niet-vertrouwde embed. Dit is een echte, door de browser afgedwongen grens, geen cosmetische.

Kan mijn JavaScript in de voorbeeldweergave de rest van deze website beïnvloeden?

Nee — de sandboxed iframe wordt door de browser behandeld als een aparte, ondoorzichtige origin. Scripts erin zijn beperkt tot het eigen document van die iframe; ze hebben geen enkele toegang tot de variabelen, netwerkverzoeken, cookies of opslag van deze pagina, wat het script ook probeert.

Wordt de voorbeeldweergave bij elke toetsaanslag bijgewerkt?

Ja — de inhoud van de iframe wordt live opnieuw opgebouwd vanuit de huidige HTML-, CSS- en JS-tabbladen terwijl u typt, zodat u het effect van een wijziging (een nieuwe CSS-regel, een aangepaste functie) direct ziet, zonder op een aparte "uitvoeren"-knop te klikken of op een buildstap te wachten.

Reacties

Nog geen reacties — schrijf de eerste!

Vergelijkbare tools