ホームページ > 記事 > ウェブフロントエンド > JavaScript ローダー
ローダーは、モジュールまたはスクリプトのソース コードに適用される変換です。ファイルや 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 をロードし、ローカル ブラウザー webview2 で実行する前に JavaScript のパラメーターを変更するように Web サイトに指示できます。
ローダーはチェーン化できます。チェーン内の各ローダーは、処理されたリソースに変換を適用します。たとえば、URL を行付きメモのストリームとしてロードし、2 つのパラメーター (この例では頻度とタイトル) を変更して、navigatetoString(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 中国語 Web サイトの他の関連記事を参照してください。