2010-11-24 23 views
1

私は、サードパーティのコンテンツを表示するためにiFramesに依存するWebサイトを設計しています。それで、私には2つの問題があります。iFrameとエンコード

  1. このサードパーティのコンテンツは、別のエンコードで表示されることがあります。
  2. ほとんど誰もhtmlファイルのエンコーディングを定義していません。

[OK]を、この場合には、ブラウザは、エンコーディングをinfeerしようとしますが、私のテストとして、したがって、いくつかのiframeがit'sコンテンツが台無しになります、それはsepparatly各IFRAMEのエンコーディングinfeer won't示します。 (エンコードされたUTF-8)

<html> 
    <iframe src="utf.html"> </iframe> 
    ááá 
    <br /> 
    <iframe src="iso.html"> </iframe> 
</html> 

utf.html(エンコードされたUTF-8)

<html> 
    ááááéééé 
</html> 

iso.htmlを

のindex.html:以下のファイルを作成して再現する

(ISO-8859-1)

<html> 
    ááééíí 
</html> 

。あなたは結果が完璧になることを見たら。

メタタグにエンコード情報を正しく追加すれば正常に動作します。

第三者のコンテンツを変更することはできません。だから、短い話で長い話は、問題です。私の例では、index.htmlだけを正しく編集するすべての文字を表示する方法はありますか?

ありがとうございます

+0

ほとんどの場合、コンテンツをサーバー側の言語で解析する必要があります。 – yoda

答えて

2

このクライアント側を行う方法はありません。クロスドメインセキュリティポリシーのため、ブラウザはこれをブロックします。サーバーを介してページをプロキシし、出力を変更する必要があります。

+0

また、コンテンツを変更する代わりに、応答のHTTPヘッダーに文字セットを入れるだけです。 –