Mechanizmy po stronie klienta i po stronie WWW
Last updated
Last updated
We wtyczkach programu FormIt wykorzystywane są dwa różne mechanizmy JavaScript:
Panel wyświetlający HTML (po stronie WWW)
Strona klienta (program FormIt) wywołuje program FormIt i jego jądro geometrii.
Te dwa mechanizmy JavaScript działają w odrębnych procesach.
Program FormIt uruchamia wiele mechanizmów JavaScript jednocześnie:
Aplikacja FormIt ma własny mechanizm JavaScript
Każdy pasek narzędzi wtyczki ma własny mechanizm JavaScript.
Każdy panel wtyczki ma własny mechanizm JavaScript (Chromium)
Wtyczki mogą określać, gdzie wczytywany jest kod JavaScript:
Skrypty po stronie WWW są wczytywane ze strony internetowej.
Skrypty po stronie WWW mogą wywoływać kod JavaScript po stronie klienta (FormIt) za pomocą wielu wywołań asynchronicznych.
CallMethod
pobiera nazwę funkcji i argumenty, które będą uruchamiane po stronie programu FormIt. Przekazana funkcja zostanie wywołana z wynikiem wywołania funkcji.
Zalety:
➕ Nie potrzeba await
.
Wady:
➖ Do uzyskania wyniku potrzebne jest wywołanie zwrotne, o którym nie wiadomo, kiedy nastąpi.
➖ Skrypty są zdefiniowane w dwóch różnych miejscach.
➖ Logika wtyczki musi być podzielona między dwa różne pliki.
*Jest to dostępne tylko w programie FormIt 2022.1 i nowszych wersjach
Funkcja CallJS przyjmuje funkcję JavaScript do wywołania po stronie programu FormIt i obiekt arguments.json.
Zalety:
➕ Wynik jest dostępny, gdy jest potrzebny
Wady:
➖ **** Wszystkie wywołania asynchroniczne należy opatrzyć „await”: pominięcie tego spowoduje bałagan.
➖ **** Metoda jest potencjalnie wolniejsza z await
Po stronie WWW następuje wywołanie asynchroniczne strony programu FormIt. To wywołanie rozpoczyna się w jednym procesie, zostaje wysłane do innego procesu, a jego wynik zostaje przekazany z powrotem do procesu początkowego. Dlatego też potrzebne jest oczekiwanie.
Domyślnie można wywoływać tylko wbudowane interfejsy API programu FormIt.
Zalety:
➕ Wynik jest dostępny, gdy jest potrzebny.
➕ Umożliwia połączenie całego kodu w jednym pliku JS uruchamianym po stronie WWW, bez definiowania skryptów w pliku manifest.json.
Wady:
➖ **** Wszystkie wywołania asynchroniczne należy opatrzyć await
: pominięcie tego spowoduje bałagan.
➖ **** Metoda jest potencjalnie wolniejsza z await.
*Jest to dostępne tylko w programie FormIt 2023.0 i nowszych wersjach
Aby można było wywoływać funkcję zdefiniowaną przez użytkownika po stronie programu FormIt, ta funkcja musi być zarejestrowana. Przykładowo:
Strona klienta (FormIt)
Strona WWW (HTML)
Zalety:
➕ Wynik jest dostępny, gdy jest potrzebny.
➕ Umożliwia połączenie całego kodu w jednym pliku JS uruchamianym po stronie WWW, bez definiowania skryptów w pliku manifest.json.
Wady:
➖ **** Wszystkie wywołania asynchroniczne należy opatrzyć „await”: pominięcie tego spowoduje bałagan.
➖ **** Metoda jest potencjalnie wolniejsza z await.
Określone przy użyciu pliku
Określone przy użyciu pliku
Zobacz przykład .