Swift WKWebView 处理凭据弹出窗口

Posted

技术标签:

【中文标题】Swift WKWebView 处理凭据弹出窗口【英文标题】:Swift WKWebView handle credential popups 【发布时间】: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中的这些类型的弹出窗口

提前致谢

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

感谢 Dave :-) 继续编码 没问题! \o/ 我试过了,试过了,试过了,试过了....还是不行!!!! :/ 这是我的问题***.com/questions/42772487/… @DaveWeston 我刚刚在这里添加了一个问题***.com/questions/42772487/…。检查链接。

以上是关于Swift WKWebView 处理凭据弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章

解析登录错误不会弹出

无法使用任何浏览器的selenium web-driver处理登录弹出窗口

通过 powershell 脚本避免微软登录弹出窗口

关闭一个自定义弹出窗口UIViewController并立即显示另一个自定义弹出窗口UIViewController -SWIFT

swift 在swift中创建一个警报视图弹出窗口

iOS Swift如何打开位置权限弹出窗口