我正在制作一个Delphi XE5 VCL表单应用程序,主表单上有一个TIdHTTPServer
,而CommandGet
过程是一个IdHTTPServer
:
procedure TForm1.IdHTTPServerCommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var responce: TStringList;
begin
if pos('someString', ARequestInfo.UnparsedParams) > 0 then
begin
responce:= TStringList.Create;
try
responce.Add('<html>');
responce.Add('<head>');
responce.Add('<title>Index</title>');
responce.Add('<script src="E:\ProjectFolder\script.js"></script>')
responce.Add('</head>');
// HTML content
responce.Add('</html>');
AResponseInfo.ContentText := responce.Text;
finally
responce.Free;
end;
end;
end;
当我更改项目目录时,浏览器看不到.js文件。我的问题是如何在更改项目目录时设置对.js文件的引用以使其可用。
最佳答案
最直接的解决方案是将脚本包含在html中:
var
scriptContent: TStringList;
...
responce.Add('<script type="text/javascript">');
scriptContent := TStringList.Create;
try
scriptContent.LoadFromFile('<name of the script file>');
responce.AddStrings(scriptContent);
finally
scriptContent.Free;
end;
responce.Add('</script>');