載入器是套用於模組或腳本原始碼的轉換。它們允許您在匯入或「載入」檔案或 html 時使用 javascript 對其進行預處理。因此,載入器有點像其他建置工具中的“任務”,並提供了一種處理前端建置步驟的強大方法。
這個想法是下載一個 JS 程式並在運行時瀏覽器 (webview2) 中本地運行它,並根據您之前提供的腳本進行一些修改。我稱之為多重部署作為固定裝置:
const SINWAVES2URL= 'https://raw.githack.com/maxkleiner/maXbox4/master/assets/sinwavesjs.html'; aMS:= TMemoryStream.Create; try HttpGet(SINWAVES2URL, amS) writeln('urlcontent size: '+itoa((ams.size))); aMS.Seek(0, 0); memoHTML.lines.loadfromstream(aMs); //javascript fixture_ memoHTML.text:= StringReplace(memoHtml.text,'frequency = 20;','frequency = 30;',[rfReplaceAll]); memoHTML.text:= StringReplace(memoHtml.text,'Sine Wave</h3>','Sine Wave F30</h3>',[rfReplaceAll]); navigatetoString(memoHTML.text); finally aMS.Free end;
例如,您可以使用載入器告訴網站使用 javascript 檔案載入 CSS 並修改 JavaScript 中的參數,然後再在本機瀏覽器 webview2 中執行它。
裝載機可以連結起來。鏈中的每個載入器都會對已處理的資源套用轉換,例如將url 作為流載入到帶有行的備忘錄中,修改兩個參數(在我們的範例中為頻率和標題)並使用navigatortoString(memoHTML .text) 運行它;在瀏覽器上:
with TEdgeViewForm.create(self) do begin PageControl1.ActivePageIndex := 1; edit1.text:= SINWAVES2URL; aMS:= TMemoryStream.Create; try HttpGet(SINWAVES2URL, amS) writeln('urlcontent size: '+itoa((ams.size))); aMS.Seek(0, 0); memoHTML.lines.loadfromstream(aMs); //javascript fixture_ memoHTML.text:= StringReplace(memoHtml.text,'frequency = 20;','frequency = 30;',[rfReplaceAll]); memoHTML.text:= StringReplace(memoHtml.text,'Sine Wave</h3>','Sine Wave F30</h3>',[rfReplaceAll]); navigatetoString(memoHTML.text); finally aMS.Free end; showmodal free; end;
以上是JavaScript 載入器的詳細內容。更多資訊請關注PHP中文網其他相關文章!