我正在做一個Delphi XE5 VCL窗體應用程序生成的HTML頁面,並有主窗體上一個TIdHTTPServer
和IdHTTPServer
過程的CommandGet
:添加參考dynamicaly JavaScript文件中的Delphi VCL應用
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路徑是POSIX格式(即/project/scripts/scripts.js)。避免使用驅動器號。我會創建一個名爲腳本的子文件夾,將我的JS文件放在該文件中,然後引用腳本'' –
'資源位置必須相對於資源根目錄,與服務器上的真實文件夾結構無關 – mjn
@Andy_D我將.js文件移動到另一個目錄,然後將路徑設置爲javascript文件projectDirectoryPath:= GetCurrentDir +'\ scripts \ script.js';當我在鉻中測試,結果是:不允許加載本地資源:+文件路徑(這是可以的)。 –