Metodologia

Edycja w przeglądarce z izolowaną podglądem w iframe, bezpiecznym przekazywaniem konsoli i lokalną trwałością dla szybkiego, bezpiecznego przepływu pracy.

1. Architektura edytora

Obszar roboczy używa trzech edytorów tekstu dla HTML, CSS i JavaScript z marginesami numerów linii, obsługą wcięć tabulatorem, kontrolą rozmiaru czcionki i opcjonalnym zawijaniem wierszy.

2. Przetwarzanie HTML

HTML z panelu HTML jest umieszczany w body wygenerowanego dokumentu. Narzędzie nie wykonuje HTML jako interfejsu strony nadrzędnej.

3. Wstrzykiwanie CSS

CSS jest wstawiany do elementu style w head wygenerowanego dokumentu, aby reguły dotyczyły wyłącznie dokumentu podglądu.

4. Wykonywanie JavaScript

JavaScript jest umieszczany w elemencie script wewnątrz dokumentu podglądu. Uruchamia się w kontekście przeglądania iframe po Run.

5. Renderowanie iframe

Połączony dokument jest przypisywany do iframe.srcdoc, tworząc nowy dokument podglądu bez nawigacji strony nadrzędnej.

6. Izolacja sandbox

iframe używa atrybutu sandbox (skrypty dozwolone do podglądu). Nadrzędne API DOM nie są udostępniane do wykonywania kodu użytkownika.

7. Obsługa konsoli

Mały most w podglądzie przekazuje console.log/info/warn/error i błędy wykonania do rodzica przez postMessage w celu wyświetlenia.

8. API przeglądarki

To, co skrypty mogą robić, zależy od polityki przeglądarki i uprawnień sandbox. Niektóre API zachowują się inaczej w iframe niż na stronach najwyższego poziomu.

9. Pamięć lokalna

Stan edytora może być zapisywany w kluczach localStorage ograniczonych do tego pochodzenia, aby odświeżenie nie usuwało trwającej pracy.

10. Ograniczenia

Nie ma kompilacji po stronie serwera dla standardowego HTML/CSS/JS. Złożone potoki budowania, prywatne pakiety i uprzywilejowane API urządzeń są poza zakresem.

11. Kwestie prywatności

Składanie podglądu odbywa się po stronie klienta. Lokalna trwałość pozostaje w przeglądarce, chyba że wyeksportujesz lub skopiujesz treść gdzie indziej.

Wróć do kompilatora

Szybkie środowisko deweloperskie w przeglądarce dla HTML, CSS i JavaScript.

Zacznij kodować