Я столкнулся с той же проблемой, но мне удалось обойти ее, используя комбинацию loadHTMLString
на WKWebView
и NSMutableURLRequest
для выполнения тяжелой работы.
Мои поиски того, как вызвать какой-либо метод на самом WKWebView
, привели меня к http://trac.webkit.org/changeset/165594, что подразумевает, что для этого есть частный метод _setCustomUserAgent
. Я недостаточно разбираюсь в какао / свифте, чтобы понять это.
В итоге я использовал приведенный ниже код, так как мне действительно нужно только получить содержимое одного URL-адреса и отобразить его, но это может быть в некотором роде полезно. Он просто загружает содержимое URL-адреса в WKWebView
в виде строки, я подозреваю, что вы можете потерять навигацию назад / вперед и тому подобное, и это будет работать только для начального отображения страницы, поскольку WKWebView
возьмет на себя клики и загрузку ресурсов .
(обратите внимание, этот пример написан на Swift, а не на Objective-C)
self.webView = WKWebView(frame: webViewRect, configuration: webViewConfig)
// create the request
let url = NSURL(string: "https://example.com/")
let request = NSMutableURLRequest(URL: url!)
request.setValue("YourUserAgent/1.0", forHTTPHeaderField: "User-Agent")
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {(response, data, error) in
let content = NSString(data: data, encoding: NSUTF8StringEncoding)
self.webView!.loadHTMLString(content!, baseURL: url)
}
person
Rogier Spieker
schedule
26.10.2014