2012-06-18 54 views

回答

1

由于Windows 8中的WebView不支持Navigating()事件,如Silverlight WebBrowser控件,因此无法获取超链接或取消导航。

但是,由于您使用的是NavigateToString()方法,因此您可以编写一些手动JavaScript代码,并在WebView.ScriptNotify()事件的帮助下实现。

5

您可以拨打InvokeScript并使用您自己的一些Javascript语言为用户导航离开页面时设置侦听器。这看起来像下面这样在C#:

var navigationListenerString = @" 
(function() { 
    function leavingPage() { 
    window.external.notify("LEAVING PAGE"); 
    } 
    window.onbeforeunload = leavingPage; 
})()"; 

webView.InvokeScript("eval", new string[] { navigationListenerString }); 

然后你可以使用ScriptNotify听您的特定信息,以确定该页面被卸载和用户离开。不幸的是,你无法检测到用户的去向。另外,如果超链接在新窗口中打开并且webview不能卸载,则无法检测到。

相关问题