2017-10-16 45 views
0

當我將一些客戶web內容加載到我的webview中時,我得到了應用程序選擇彈出窗口,我猜想它的調用和uri與未知的協議或什麼。我不關心內容,我只是想在彈出窗口出現之前做出反應。如何使用webview中的應用程序選擇來捕獲uri調用?

Popup for app selection

我嘗試以下,但我不會被

webView.NavigationStarting += WebView_NavigationStarting;

webView.ScriptNotify += WebView_ScriptNotify;

預期時,他​​們只叫調用,而不是彈出之前。

是否有其他事件我可以訂閱,所以我可以處理它,並決定是否有必要顯示彈出窗口或只是將其標記爲處理?

回答

1

當我將一些客戶webcontent加載到我的webview中時,我得到應用程序選擇彈出窗口。

你的情況的截圖是openwith.exe系統級應用程序的窗口。它將由未知應用程序uriName:Parameter)計劃啓動。它不會調用NavigationStartingScriptNotify事件。欲瞭解更多,你可以參考Handle URI activation

是否有其他事件我可以訂閱,所以我可以處理它,並決定是否有必要顯示彈出窗口或只是將其標記爲處理?

當前,沒有檢測彈出窗口的事件。 爲了您的要求,您可以手動過濾html頁面中的特殊uri方案。您可以參考Launch the default app for a URI。並根據這些uri方案創建適當的過濾器。

function myFunction() { 
    var url = "test:paramter" 
    var arr = url.split(":"); 
    if (arr[0] == "test") { 
     arr[0] = ""; 
    } 
    var url = arr.join(''); 
} 
+0

感謝您的幫助! –

相關問題