WM6.5でWebBrowserコントロールの動きが変わっている
- 私はWebBrowserコントロールを使用したプログラムを作っているのですがWM6.5のエミュレータで
そのプログラムを実行すると表示、イベント等が今までの動きと違っています。
違っているだければいいのですがまったく使えないものになっています。
T-01AでもWM6.1ですが同じような状態になっています(もしかしたら関係ないかもしれませんが)。
なにか対応方法、回避策はないでしょうか。
また、正常に動作している例はあるのでしょうか。
よろしくお願いします。- 移動高橋 忍MSFT, モデレータ2009年9月8日 5:40適切なフォーラムへの移動 (移動元:Windows Mobile – C++)
回答
簡単にまとめますと、本件を本社サイドに連r飼うし、バグとして認められました。
その後対応パッチが作成され(CF3.5)確認したところ、きちんと問題は解決しておりました。ただしこれは一般向けの配布は行われてはいないようです。
- Netcfv35.wm.armv4i.cab 20-Jul-2009 17:39
Windows Mobile のアプリケーション開発を行っている企業向けにはパッチがあたった修正を配布することは可能だそうで、アプリとあわせて配布もできるようです。
ですので、業務がらみで必要な場合にはサポートを通じて入手する必要があります。CFX3.5については対応版がいつ公開されて配布されるのかわかりませんが、こんご(可能な限り)問題としてプッシュしていきたいと思います。
今回はフォーラムを通じて問題発見と対応ができました。狩野様はじめ皆様に感謝いたします。
マイクロソフト エバンジェリスト 高橋 忍- 回答としてマーク狩野 2009年10月6日 13:09
すべての返信
- こんばんは、CH3COOH(酢酸)です。
今までのイベントの動きと、まったく使えない状態になっているイベントの動きについてや、
どのような実装を行った時にどのような問題が発生しているのか、
もう少し詳しく記載して頂けると、有識者の方が答えやすいかと思われます。 - 環境も現象も書かずに質問して失礼しました。
開発はVS2008 C# & .NET Compact Framework 3.5 で行っています。
6.5のエミュレータで実行したときに6.1と比較して下記の違いがあります。
- 横1ページで表示されない。
- 表示されたページをドラッグしてもスクロールしない。
- リンクをクリックしてもNavigating、Navigatedのイベント両方とも発生しない。
よろしくお願いします。 - とりあえず以下のページの高橋さんのサンプルをWM6.1、WM6.1.4、WM6.5各エミュレータで動かして確認してみました。
http://codezine.jp/article/detail/447
> ・横1ページで表示されない。
この意味がわからないのですが、WM6.1では収まっていたところがWM6.5では左右にはみだしが発生するようになったということでしょうか?
こちらで確認したかぎりWM6.1.4とWM6.5はまったく同じ表示レイアウトになりました。ただしWM6.5ではスクロールバーが表示されません。
なおWM6.1はIEのバージョンが低いためかレイアウトが少々変わります。
> ・表示されたページをドラッグしてもスクロールしない。
WM6.1、WM6.1.4、WM6.5いずれでもドラッグではスクロールしませんでした。そもそもWM6.1でもドラッグスクロールをサポートしていなかったように記憶していますがどうでしょうか?
> ・リンクをクリックしてもNavigating、Navigatedのイベント両方とも発生しない。
WM6.1、WM6.1.4、WM6.5いずれでもリンクをクリックすればイベントが発生
どうも狩野さんとまったく違う結果になってしまいました。
さすがにNavigating、Navigatedのイベントが発生しないとすれば他の人も気づいて大騒ぎになるのではないかと思います。
まずは自作のプログラムでなにか不適当な処理を行っていないか確認してみてはいかがでしょう? 回答ありがとうございます。ホーミンさんの紹介されたサンプルを落としてきてさっそくためしてみました。
まず、VS2008で開くと変換するか聞いてきたので変換しました。
そしてターゲットプラットフォームを"Windows Mobile 6 Professional SDK"に変更してから
"JPN Windows Mobile 6. Professional"で実行してみました。
それで先の3つの点について再確認しました。
・横1ページで表示されない。
試しに www.google.co.jp を表示してみたのですがテキストボックスが右で切れていてWM6.1の
実行結果と比べて違う表示結果になりました。
でも、テキストばかりのページのときは横1ページに収まっていました。
・表示されたページをドラッグしてもスクロールしない。
これはS21HTではドラッグできたのでそれと混同してしまいました。すいません。
ただ、WM6.5はスクロールバーが表示されないのでドラッグできないと長いページをスクロールして
見ることができません。
・リンクをクリックをしてもNavigating、Navigatedのイベント両方とも発生しない。
これはWebBrowserコントロールにUrlの指定で表示したページのリンクをクリックしたときは発生しました。
しかし、DocumentTextにHTMLを設定して表示したリンクではNavigatingイベントが発生せず
ページの移動も行われませんでした。発生条件の説明不足でした申し訳ありません。
WebBrowserコントロールはRitchTextBoxの代わりとして簡単に使えるのでこのあたりを解決して
使えるようにしたいです。
よろしくお願いします。> ・横1ページで表示されない。
> 試しに www.google.co.jp を表示してみたのですがテキストボックスが右で切れていてWM6.1の
> 実行結果と比べて違う表示結果になりました。
> でも、テキストばかりのページのときは横1ページに収まっていました。
GoogleトップページはUser-Agentにより専用ページになるのでレイアウト比較にはあまり適切ではありません
なおモバイル用ページ www.google.co.jp/m で比較するとWM6.1.4でもWM6.1とはレイアウトが変わっています
(フォントが大きくなっている、ボタンやテキストボックスが3Dエッジ表示され大きくなっているなど)
最近発売されたT01Aでも同様の結果になると思われます。
これはブラウザのバージョンアップによるものでしょうから、仕様として受け入れアプリ側で調整するしかない気がします
> ・表示されたページをドラッグしてもスクロールしない。
> これはS21HTではドラッグできたのでそれと混同してしまいました。すいません。
> ただ、WM6.5はスクロールバーが表示されないのでドラッグできないと長いページをスクロールして
> 見ることができません。
.Netは専門外でよくわからないのですがWebBrowserコントロールにスクロールバー表示するように明示的に指定できませんか?
> ・リンクをクリックをしてもNavigating、Navigatedのイベント両方とも発生しない。
> これはWebBrowserコントロールにUrlの指定で表示したページのリンクをクリックしたときは発生しました。
> しかし、DocumentTextにHTMLを設定して表示したリンクではNavigatingイベントが発生せず
> ページの移動も行われませんでした。発生条件の説明不足でした申し訳ありません。
DocunetTextに関しては試していないのでわかりませんがローカルのHTMLファイル表示などでもだめですか?
またPC上の.NETのWebBrowserコントロールで同じことをした時の挙動がどうなっているかも気になります横1ページ表示での問題
まず、横1ページので表示されないという問題は、
テキストボックスのサイズの問題であることは確認されていると思います。
これはWebBrowserコントロールの問題ではなく、
6.5に入っているIEのレンダリング処理の問題ですので、そちらが治らないと治りません。
テストサンプル
また、残りの問題についてはFormにWebBrowser コントロールを載せて以下のソースを追加したサンプルでテストしてみました。
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.DocumentText=@"<A HREF=""http://jp.msn.com"">msn</A>";
}
リンクについて
正しくMSNのページに飛びました。
スクロールについて
スクロールバーが表示されました。
マイクロソフト エバンジェリスト 高橋 忍- 編集済み高橋 忍MSFT, モデレータ2009年8月22日 17:40誤字修正
回答ありがとうございます。高橋さんのテストサンプルで以下のような結果になりました。
・リンクについて
.NET Compact Framework 2.0 では正しくリンク先に飛びましたが
.NET Compact Framework 3.5 では無反応でした。
・スクロールについて
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.DocumentText=@"<A HREF=""http://jp.msn.com"">msn</A><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p>";
}
としてテストしました。
.NET Compact Framework 2.0 ではスクロールバーが表示されました。
.NET Compact Framework 3.5 ではスクロールバーが表示されませんでした。
.NET Compact Framework 2.0 ではうまくいくのですが .NET Compact Framework 3.5 では
うまくいかないようです。
よろしくお願いします。
出力レイアウトの違いについてはしょうがないかなと思っています。
>これはブラウザのバージョンアップによるものでしょうから、仕様として受け入れアプリ側で調整するしかない気がします
レイアウトについてはあきらめたいと思います。
>.Netは専門外でよくわからないのですがWebBrowserコントロールにスクロールバー表示するように明示的に指定できませんか?
そのような設定はありませんでした。
>DocunetTextに関しては試していないのでわかりませんがローカルのHTMLファイル表示などでもだめですか?
>またPC上の.NETのWebBrowserコントロールで同じことをした時の挙動がどうなっているかも気になります
Uriにローカルファイルを設定できないため試せませんでした。 Aタグに file:// としたときはリンクしますがUriとして指定すると
エラーになってしまいます。
PCでは .NET Framework 3.5 、 XP で試したときはNavigating、Navigatedともに発生していました。
WebBrowserコントロールに対してDocumentText でページを設定するプログラムを .NET Framework3.5 で 作成した場合に
WM6.5のエミュレータで実行するとNavigating、Navigatedイベントが発生しない状況です。あと、スクロールバーも表示されません。- 確認しました。
6.5のエミュレータx3.5の環境で問題が出ますね。
WebBrowserコントロールはデバイスのIEのコンポーネントを使っているだけなので
実際に IE Mobile 6 と CF3.5 時に出るということですね。
ということで、IE Mobile 6 搭載のT-01Aも同じ状況になるかと思います。
マイクロソフト エバンジェリスト 高橋 忍 - この現象は障害として今後修正されるのでしょうか。それとも仕様としてこのままになるのでしょうか。
そしてWM6.5用のアプリを作る場合この機能は使わない方が良いのでしょうか。あるいは今のままなにか対処方法がありますか。
.NET Compact Framework 2.0 では発生しないようですが 2.0 は独自のコンポーネントを使用しているのでしょうか。 - (本件 Microsoftのバグだと思いますが)まずは問題の発生条件の切り分けをした方がよいかと思います。
Microsoftにクレームするにしても証拠は多い方が良いでしょうから。
現状の問題点は以下の2つですよね?
・ページレイアウトがWebBrowserコントロールに収まらない場合でもスクロールバーが出ない
・DocumentText で設定したページ中のリンクが機能しない(Navigating、Navigatedイベントがない)
上記の問題がWM6.1/WM6.1.4/WM6.5 と.NET CF2.0/3.5 の各組み合わせで発生する/しないを明確にすべきと思います。(WM6.1.4のところは新しいIEであれば良いのでT-01AでもOK)
現状だとWM6.5(新しいIE)と.NetCF3.5のどちらが主要因なのかはっきりしてませんよね? フォーラムが違っていますので移動します。
マイクロソフト エバンジェリスト 高橋 忍- 基本的にはCF3.5のバグとして把握しています。
この件については本社サイドとも現在相談中ですので、
何か対応が出たらお知らせいたします。
マイクロソフト エバンジェリスト 高橋 忍 - 了解しました。対応されるまで待ちたいと思います。
簡単にまとめますと、本件を本社サイドに連r飼うし、バグとして認められました。
その後対応パッチが作成され(CF3.5)確認したところ、きちんと問題は解決しておりました。ただしこれは一般向けの配布は行われてはいないようです。
- Netcfv35.wm.armv4i.cab 20-Jul-2009 17:39
Windows Mobile のアプリケーション開発を行っている企業向けにはパッチがあたった修正を配布することは可能だそうで、アプリとあわせて配布もできるようです。
ですので、業務がらみで必要な場合にはサポートを通じて入手する必要があります。CFX3.5については対応版がいつ公開されて配布されるのかわかりませんが、こんご(可能な限り)問題としてプッシュしていきたいと思います。
今回はフォーラムを通じて問題発見と対応ができました。狩野様はじめ皆様に感謝いたします。
マイクロソフト エバンジェリスト 高橋 忍- 回答としてマーク狩野 2009年10月6日 13:09
- 対応ありがとうございました。
こんなことならもっと早くこちらに書き込んどくべきでした。
これからもよろしくお願いします。


