none
CHTMLViewのレンダリングモード RRS feed

  • 質問

  • VisualStudio2010にてCHTMLViewを使用したアプリケーションを作成しており、実行環境にはIE10がインストールされています。
    この状態で、作成したEXEを実行すると、CHTMLViewに表示されるWebサイトが、IEで表示する時とは異なった見た目で表示されてしまい困っております。
    Webサーバー側のログを確認すると、アプリケーションから接続した際のろぐのユーザーエージェントがIE7になっているようでした。
    CHTMLViewがIE7のレンダリングモードになっているのではないか?と思いリファレンスを確認して見たのですが、レンダリングモードを変更する方法がわかりませんでした。
    上の状況ではレンダリングモードがIE7互換になっているのでしょうか?
    IE10と同じレンダリングモードでCHTMLViewを使用することは出来ないのでしょうか?
    よろしくお願いします


    2014年1月21日 6:27

回答

すべての返信

  • Internet Feature Controlsの1つBrowser Emulationです。ここに書かれているようにWebBrowserコントロールは既定ではIE7 Standards modeで動作します。必要であればレジストリを設定しましょう。
    • 回答の候補に設定 星 睦美 2014年1月27日 4:05
    • 回答としてマーク ぷれすぽ 2014年1月30日 3:51
    2014年1月21日 12:46
  • ぷれすぽさん

    こんにちは。

    CHtmlViewですと、Webページ表示に、NavigateかNavigate2を使っているとおもいます。

    ※標準実装だと、OnInitialUpdateあたりだとおもいます。

    以下のコードでUAを書き換えることができますので、試してみてください。

    Navigate2(_T("http://sample.com"),NULL,NULL,_T("User-Agent:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"));

    マイクロソフトのUser-Agentの情報です。


    • 回答の候補に設定 星 睦美 2014年1月27日 4:05
    2014年1月22日 1:42
  • >佐祐理 様

    ありがとうございました、レジストリを設定することで期待した結果を得られました。

    その他にも色々な設定値があり参考になりました。


    2014年1月30日 3:48
  • >にゃにゃお 様

    今回はUAを書き換えることが目的ではなかったため、教えていただいた方法は使用しませんでしたが、UAを書き換えることが可能であることを知らなかったため、参考になりました。

    ありがとうございました


    2014年1月30日 3:50