【问题标题】:WinRt WebView control handling navigation within the controlWinRt WebView 控件处理控件内的导航
【发布时间】:2012-07-28 10:20:53
【问题描述】:

我有一个使用 WebView 控件的 Metro 应用程序。我正在使用NavigateToString 加载可能包含超链接的html 文件。然后我想要做的是检测何时选择了这些超链接之一,而不是允许在 WebView 控件中导航,而是启动 IE 并在那里查看页面。

这在 WinRT 约束下是否可行,如果可以,如何实现?

到目前为止,我已尝试捕获 WebView_LoadCompleted() 事件,但尽管它确实在正确的时间触发,但我无法从 NavigationEventArgs 中看到有关 URI 的任何详细信息。

【问题讨论】:

  • 也许您可以在 html DOM 中连接 javascript 事件并将它们中继到控件之外。

标签: windows-8 webview windows-runtime windows-store-apps winrt-xaml


【解决方案1】:

不幸的是,这不可能直接实现,因为 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

【讨论】:

  • 你能解释一下这是如何工作的,因为博客文章说“不幸的是,似乎没有办法提取目标网址......”这意味着没有办法使用它使用 IE 而不是 WebView 控件进行导航的代码。如果您确实设法检测到导航事件并在 IE 中打开目标 URI,您可以发布一些代码吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多