2013-03-27 93 views

回答

1

您可以使用一些自己的Javascript調用InvokeScript來爲用戶導航離開頁面時設置偵聽器。這看起來像下面這樣在C#:

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

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

然後你可以使用ScriptNotify聽您的特定信息,以確定該頁面被卸載和用戶離開。不幸的是,你無法檢測到用戶的去向。另外,如果超鏈接在新窗口中打開並且webview不能卸載,則無法檢測到。

+0

嘗試此操作時出現以下SystemException: DISP_E_UNKNOWNNAME – Johann 2013-03-27 15:30:55

+0

經過一番討論後,我發現解決方案:您可能已經很快完成了它。你只能在加載頁面後才能做到這一點。確保在TestWebView_LoadCompleted(...)或更高版本中使用它。 另外請注意,網頁也可以發送LEAVING PAGE,所以也許會生成一個隨機密鑰或其他東西。 另外,請注意,您需要將網頁(或使用AnyScriptNotifyUri的所有網頁)添加到Allowedscriptnotifyuris列表。 http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.webview.allowedscriptnotifyuris.aspx – domenukk 2013-05-01 01:18:32

相關問題