2017-10-16 19 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

感谢您的帮助! –

相关问题