我的应用程序中有一个 Webview,我想拦截任何点击并在 IE 中打开链接,而不是在应用程序的 Webview 中。
我只能看到 NavigationFailed 和 LoadingComplete 事件,与我可以拦截的“即将导航”事件无关。
最佳答案
似乎没有任何方法可以捕获任何导航事件。但是,您可以使用 window.external.notify() 拦截在 JavaScript 中调用的脚本事件
假设该页面是您自己托管的,您可以替换
<a href="http://www.lightwoodgames.com">LINK</a>
与
<a href="javascript:window.external.notify('http://www.lightwoodgames.com')">LINK</a>
然后在你的项目中你要添加
webview.ScriptNotify += webview_ScriptNotify;
webview.AllowedScriptNotifyUris = WebView.AnyScriptNotifyUri;
protected async void webview_ScriptNotify(object sender, NotifyEventArgs e)
{
await Windows.System.Launcher.LaunchUriAsync(new Uri(e.Value));
}
关于c# - 如何在 Windows 8 的 Web View 中捕获导航事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12671047/