0

Ajax でデータをストリーミングする Web ページがあります (readyState 3 などを使用)。これはほとんどのブラウザーで正常に動作しますが、IE7-9 では、readyState が 3 の場合でも、これまでに受信したテキストを読み取ることができないようです (ただし、IE9 で実行できると読みましたが、やってみる..)。

代わりに、フォールバックのために、データを要求する非表示の iframe を使用し、そこからデータを読み取ります。問題は、データが JSON エンコードされている一方で、実際の HTML も内部に含まれていることです。データをそのままにしておく必要がありますが、iframe 内にあるため、HTML はブラウザーによって解析されます。

基本的に、私が望むのは、ブラウザがそのデータの HTML を解析しないことだけです。最初は、適切なコンテンツ タイプを使用することでこれを簡単に実行できると考えていましたが、今のところうまくいかないようです (たとえば、application/octet-stream を試しました)。

データ全体をコメントに入れることでこれを解決できると思いますが、それはしたくありません。この場合、ブラウザがこの HTML を解析しないようにする最も簡単な方法は何ですか? それとも、単に間違ったコンテンツ タイプを使用していますか?

ありがとうございました。

4

2 に答える 2

0

<xmp>タグを使用します。このタグは、コンテンツがCDDATAであることをブラウザに通知し、そこにあるすべてのHTMLタグを無視します。

<xmp> <fontcolor ="red"><b>ここにある私のデータ</b></ font> </ xmp>

印刷します:

<fontcolor ="red"><b>ここにある私のデータ</b></ font>

于 2012-07-22T13:50:22.943 に答える
0

<xmp>タグは廃止され、標準の一部ではなくなりました。<textarea>あなたのケースで速度が本質的な場合は、確かにオプションです。3 番目のオプションはもちろん、コンテンツを HTML エンコードしてから、使用しているサーバー テクノロジを使用してdecode()クライアントに送信し、クライアントで使用して HTML を取得することです。

于 2012-07-22T14:29:31.660 に答える