WebBrowser コントロール(IE コンポーネント)では現在位置を取得する API がサポートされていない

フォームブラウザで現在位置の取得が出来ません。

MSDN フォーラムで上記のような投稿があったので少し調べてみました。

WebBrowser コントロール(IE コンポーネント)では、FEATURE_BROWSER_EMULATION レジストリーで IE 11 互換と宣言したとしても、現在位置を取得する JavaScript の現在位置取得関数 navigator.geolocation.getCurrentPosition は機能しないようです。

参考サイト: https://social.msdn.microsoft.com/Forums/ie/en-US/ca3b295c-4e73-4682-8149-c20f5450ac02

そこで回避方法ですが、下記のように、navigator.geolocation.getCurrentPosition 関数を独自に定義するコードを JavaScript コードとして埋め込み、ページの読み込み完了時(DocumentCompleted)に実行することで、現在位置の取得部分を C# などの言語で記述できるようになります。

C# コード

HTML コード

本プログラムは下記にも同じものを記載しました。
https://social.msdn.microsoft.com/Forums/ja-JP/csharpgeneralja/thread/29b18be7-a5d6-49e7-be7e-b215fb3668a7/#a4cc86b3-4a41-4f80-b168-2613c4d0659a


kenjinote

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする