Swift WKWebView
Swift WKWebView
如何使用 WKWebView 处理 NTLM 身份验证,目的是使用凭据(Sharepoint 托管应用程序)加载安全的 URL 同样,我想向 http 请求添加一个键值对
任何使用 swift2.0 处理我的案例的代码示例将不胜感激。
我仔细阅读了文档,发现下面的解决方案等同于方法 shouldSatratLoading 等。
func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {
print(" decidePolicyForNavigationAction.......")
let headerArr = navigationAction.request.allHTTPHeaderFields?.keys.array
let headerIsPresent = headerArr?.contains(APP_HEADER_ID)
if headerIsPresent! {
decisionHandler(.Allow)
}else{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
dispatch_async(dispatch_get_main_queue(), {
let newRequest: NSMutableURLRequest = navigationAction.request as! NSMutableURLRequest
// set new header
newRequest.addValue(APP_HEADER_VALUE, forHTTPHeaderField:APP_HEADER_ID)
// reload the request
webView.loadRequest(newRequest)
})
})
decisionHandler(.Cancel)
}
}
如果有人需要更多信息,请告诉我
如何使用 WKWebView 处理 NTLM 身份验证,目的是使用凭据(Sharepoint 托管应用程序)加载安全的 URL 同样,我想向 http 请求添加一个键值对 任何使用 swift2.0 处理我的案例的代码示例将不胜感激。
我仔细阅读了文档,发现下面的解决方案等同于方法 shouldSatratLoading 等。
func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {
print(" decidePolicyForNavigationAction.......")
let headerArr = navigationAction.request.allHTTPHeaderFields?.keys.array
let headerIsPresent = headerArr?.contains(APP_HEADER_ID)
if headerIsPresent! {
decisionHandler(.Allow)
}else{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
dispatch_async(dispatch_get_main_queue(), {
let newRequest: NSMutableURLRequest = navigationAction.request as! NSMutableURLRequest
// set new header
newRequest.addValue(APP_HEADER_VALUE, forHTTPHeaderField:APP_HEADER_ID)
// reload the request
webView.loadRequest(newRequest)
})
})
decisionHandler(.Cancel)
}
}
如果有人需要更多信息,请告诉我