2012-06-18 58 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不能卸載,則無法檢測到。

相關問題