Вопрос по windows-store-apps, windows-runtime, winrt-xaml, webview, windows-8 – WinRt WebView управления обработкой навигации внутри элемента управления

6

У меня есть приложение Metro, использующее элемент управления WebView. Я используюNavigateToString загрузить HTML-файл, который может содержать гиперссылки. Затем я хочу определить, когда выбрана одна из этих гиперссылок, и вместо того, чтобы разрешить навигацию внутри элемента управления WebView, запустить IE и просмотреть страницу там.

Возможно ли это в рамках ограничений WinRT, и если да, то как?

До сих пор я пытался захватитьWebView_LoadCompleted() событие, но, хотя оно срабатывает в нужное время, я не могу видеть какие-либо подробности об URI изNavigationEventArgs.

Возможно, вы могли бы подключить события javascript в html DOM и передать их за пределы элемента управления. Filip Skakun

Ваш Ответ

1   ответ
5

К сожалению, это невозможно напрямую, потому что WebView не включает в себя такие события, как навигация (которые присутствовали в Windows Phone).

К счастью, Ник Рэндольф (блестящий разработчик для Windows Phone и Windows 8) создал обходной путь, используя сценарии событий. Он отлично написал в своем блоге:

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

Это сработало превосходно - спасибо Paul Michaels
Не могли бы вы объяснить, как это работает, потому что в сообщении блога говорится, что, к сожалению, не существует способа извлечь целевой URL ... & quot; и это означает, что нет способа использовать этот код для навигации с использованием IE вместо элемента управления WebView. Если вам удалось обнаружить событие навигации и открыть целевой URI в IE, вы можете опубликовать какой-нибудь код?

Похожие вопросы