Firefoxで狂った問題が発生しています。私はこの問題がFirefoxから出てくるのか、それとも自分のカスタムWebサーバー(Delphiで作ったもの)か、それが何であるかは分かりません。この問題はFirefox(およびOpera)でのみ発生し、頭から下に向かってすべてを動かしています。また、本文の先頭にランダムな文字を追加しています。不思議なことに、それは完全に100%の空のWebページでもそれを行います。Firefoxがヘッダーを破棄してランダムな文字を追加する
私はこのような単純なページをテストしています:
<html>
<head>
<title>Test</title>
</head>
<body>
</body>
</html>
Webサーバーに関しては、私はIdHTTPWebBrokerBridge
(インディ)を使用して、DelphiでカスタムHTTPアプリケーションを構築することだし、単純に(ContentStream
を交換しますまたはContent
)そうのようなRequest
の...上記の掲示、および手順は、デフォルトの要求ハンドラのイベントハンドラとしてSomeFile.html
が空ページである
procedure TDashModule.DashConsoleHomeAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
Response.ContentType:= 'text/html';
Response.ContentStream:= TFileStream.Create('C:\SomeDir\SomeFile.html', fmOpenRead or fmShareDenyNone);
end;
...。
Chrome、IE、Safariなどでは、すべてが元のコードとまったく同じです。あなたが見ることができるように、title
タグがbody
まで移動されている
<html>
<head>
</head>
<body>

<title>Test</title>
</body>
</html>
、およびいくつかのランダムな文字
は体の一番最初に登場している。しかし、Firefoxの(とOpera)は、これを生産しています。元のページをFirefoxで元のファイルとして表示すると、正しく表示されます。しかし、DelphiでWebサーバーを使用している場合、Firefoxはこのページ(およびすべてのページ)を破棄しています。
これを行う可能性があり、それを修正する方法はありますか?
Aを再現する手順)ちょうどこのコンテンツ付き)のVisual Studio 2010年に私のために新しいHTMLページを(作成:
<html>
<head>
<title>Test</title>
</head>
<body>
</body>
</html>
B)のDelphi XE2では、新しいプロジェクトを開始:File > New > Other... > Web Broker > Web Server Application
C)Stand-alone VCL Application
を選択>次に>完了
D)DEFを作成DefaultHandler
項目についてはオールトハンドラ(WebModule1
右クリックして、Action Editor...
を選択)
E)、イベントプロパティに移動し、OnAction
Fのためのイベントハンドラに行く)がこれに既に存在だ任意のコードを置き換え(置き換えますHTMLファイル名とファイル名):
Response.ContentStream:= TFileStream.Create('C:\SomeDir\SomeFile.html', fmOpenRead or fmShareDenyNone);
E)は、アプリケーションを実行し、 "ブラウザで表示" をクリックする - 必要に応じてコピー/ FirefoxのURLを貼り付けます。ヘルプへ
UPDATE
おかげで、私は問題があっ属していなかったファイルのBOMタグであると認識するようになりました。TFileStream
がどのように機能するかに起因して、このコードを含むファイルのすべての小さな部分が読み込まれます。代わりにTStringList.LoadFromFile()
を使用するようにメソッドを変更しました。これは自動的にそれを検出し、TStringList.Text
を読み取ってResponse.Content
に割り当てることもできます。
すべてのコメントがなくなって? – OnTheFly
コメントは批判と皮肉の声で出てきましたが、他の人のコメントはきれいであり、削除されてはいけません。 –
批判は** that ** bad :-)とにかく、この 'geheimestaatsmoderation'は制御不能にほとんど成長していないようです。 – OnTheFly