Maison >interface Web >js tutoriel >Chargeur JavaScript

Chargeur JavaScript

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 11:44:03692parcourir

Les chargeurs sont des transformations qui s'appliquent au code source d'un module ou d'un script. Ils vous permettent de prétraiter des fichiers ou du HTML avec du javascript à l'intérieur lorsque vous les importez ou les « chargez ». Ainsi, les chargeurs sont un peu comme des « tâches » dans d’autres outils de build et fournissent un moyen puissant de gérer les étapes de build frontales.
L'idée est de télécharger un programme JS et de l'exécuter en natif localement dans un navigateur d'exécution (webview2) avec quelques modifications, basées sur un script que vous avez livré auparavant. J'appelle cela un déploiement multiple en tant que luminaire :

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; 

Par exemple, vous pouvez utiliser des chargeurs pour indiquer à un site Web de charger un CSS avec un fichier javascript et de modifier les paramètres en JavaScript avant de l'exécuter dans une vue Web d'un navigateur local2.

JavaScript Loader

Les chargeurs peuvent être enchaînés. Chaque chargeur de la chaîne applique des transformations à la ressource traitée, par exemple charger l'URL sous forme de flux dans un mémo avec des lignes, modifier deux paramètres (fréquence et titre dans notre exemple) et l'exécuter avecnavigatoString(memoHTML.text); sur un navigateur :

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;  

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn