6

WebViewコントロールを使用しているMetroアプリケーションがあります。私はNavigateToStringを使用して、ハイパーリンクを含む可能性のあるhtmlファイルをロードしています。私がしたいことは、これらのハイパーリンクの1つが選択されていることを検出し、WebViewコントロール内でナビゲーションを許可する代わりに、IEを起動して代わりにそのページを表示することです。WinRtコントロール内のWebViewコントロール処理ナビゲーション

これはWinRTの制約内で可能ですか?

これまでのところ、私はWebView_LoadCompleted()イベントをキャプチャしようとしましたが、適切なタイミングで発生しますが、NavigationEventArgsのURIに関する詳細は表示されません。

+0

おそらく、あなたは、HTML DOM内のJavaScriptのイベントをフックし、コントロールの外にそれらを中継できます。 –

答えて

5

残念ながら、WebViewには(Windows Phoneに存在していた)ナビゲートのようなイベントは含まれていないため、これは直接できません。

幸運にもNick Randolph(華麗なWindows PhoneとWindows 8開発者)がスクリプトイベントを使用して回避策を作成しました。彼は自身のブログ上で偉大な書き込みを持っている:

http://nicksnettravels.builttoroam.com/post/2012/04/21/Limitations-of-the-WebView-in-Windows-8-Metro-Apps.aspx

+0

これはうまくいきました - ありがとう –

+1

ブログの投稿に「残念ながらターゲットURLを抽出する方法がないようです...」というメッセージが表示されているため、このコードを使用する方法はありませんWebViewコントロールの代わりにIEを使用してナビゲートします。ナビゲーションイベントを検出してIEの宛先URIを開くことができたら、コードを投稿できますか? –

関連する問題