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を異なる方法で実行する原因は何ですか?
もっと良いものがある場合でも、古いバージョンのIEを静かに使用するのは難しいです。しかし、私はJavaScriptがIE6で壊れてしまうかどうかを簡単に知ることができたと思います... –
@JoeWhite:IE8の場合、3つのバージョンについて何も修正されていないと思うのは悲しいことです。また、WebKitエンジンを.NETに組み込むことができると確信しています。特定の機能が必要な場合は、それを試すこともできます。 – Ryan