2011-10-30 5 views
0

HTMLページをWPF Frame要素に読み込むと、同じページをIEなどのWebブラウザに読み込む場合とはJavaScriptの動作が異なります。それはなぜですか、Frameの動作がブラウザのものと一致するようにする方法はありますか?なぜWPFのフレームはJavaScriptとIEとが違うのですか?

私は、Webブラウザに次のHTMLをロードする場合:

<!DOCTYPE html> 
<script> 
document.write('abc'[1]) 
</script> 

それはクローム、FireFoxの、オペラ、さらにはIEでbを出力します。しかし、私はWPF Frameにその同じHTMLを読み込む場合:それは代わりにundefinedを出力

<Frame Source="C:\Path\To\Page.htm" /> 

なぜ行動の違いがありますか?私はFrameがInternet Explorerをレンダリングすることになっていたと思っていましたが、明らかに別のことをしています。

私がDOCTYPE行を終了すると、IEはundefinedを出力しますが(他のブラウザはありません)、IEが別のバージョンのJavaScript(!)を使用していることを示していますHTML5である。しかし、私はFrameが同じロジックを使用することを期待していますが、明らかにそうではありません。ページをHTML5と宣言しても、JavaScriptの古いサポートしていない文字列インデックスバージョンを使用します。

FrameはIEとJavaScriptを異なる方法で実行する原因は何ですか?

答えて

1

低エンジンを使用しています。私はあなたがIE9でそれをテストしたと思いますか?さて、IE9は、ActiveXコントロールスタイルのWebブラウザから逸脱しました。 abc[0]の代わりに'abc'.charAt(0)を使用する必要があります。

+0

もっと良いものがある場合でも、古いバージョンのIEを静かに使用するのは難しいです。しかし、私はJavaScriptがIE6で壊れてしまうかどうかを簡単に知ることができたと思います... –

+0

@JoeWhite:IE8の場合、3つのバージョンについて何も修正されていないと思うのは悲しいことです。また、WebKitエンジンを.NETに組み込むことができると確信しています。特定の機能が必要な場合は、それを試すこともできます。 – Ryan

関連する問題