【问题标题】:Swift WKWebView handle credential popupsSwift WKWebView 处理凭据弹出窗口
【发布时间】:2017-01-16 13:28:50
【问题描述】:

我正在开发一个安全 Web 浏览器 iOS 应用程序。我正在使用Swift 进行开发。

我的应用有一个 WKWebView 用于加载 URL。当我在我的应用程序上加载此 URL http://relaw.wpengine.com 时。 WKWebView 未显示凭据弹出窗口。

我已经实现了WKUIDelegate 方法

func webView(_ webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo,
                 completionHandler: @escaping () -> Void) {
 }

 func webView(_ webView: WKWebView, runJavaScriptConfirmPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo,
                 completionHandler: @escaping (Bool) -> Void) {
 }

 func webView(_ webView: WKWebView, runJavaScriptTextInputPanelWithPrompt prompt: String, defaultText: String?, initiatedByFrame frame: WKFrameInfo,
                 completionHandler: @escaping (String?) -> Void) {
}

但是,他们不处理此凭据弹出窗口。

如何处理WKWebView中的这些类型的弹出窗口

提前致谢

【问题讨论】:

    标签: javascript ios swift alert wkwebview


    【解决方案1】:

    您需要在WKNavigationDelegate 上提供webView(_:didReceive:completionHandler:) 方法的实现。当 webView 收到身份验证质询时调用此方法。

    请参阅此参考:https://developer.apple.com/reference/webkit/wknavigationdelegate/1455638-webview

    【讨论】: