加载器是应用于模块或脚本源代码的转换。它们允许您在导入或“加载”文件或 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中文网其他相关文章!