如何防止WKWebView的“User Agent”标题发生变化?

时间:2016-04-19 17:53:57

标签: swift nsurlsession nsurl wkwebview

    let url =  NSURL(string:"http://www.examplepage.com/“)
            let Request = NSMutableURLRequest(URL: url!)


            Request.setValue("Custom-Agent", forHTTPHeaderField: "User-Agent")

            let task1 = NSURLSession.sharedSession().dataTaskWithRequest(Request){ data, response, error in

                let contentPage =  NSString(data: data!, encoding: NSUTF8StringEncoding)
                self.webView!.loadHTMLString(contentPage! as String, baseURL: url)

            }
            task1.resume()

我使用以下代码设置WKWebView的“User Agent”标头。

首次加载应用时效果很好,但只有在点击按钮后,“用户代理”才会更改。

如何防止“用户代理”发生变化?

2 个答案:

答案 0 :(得分:1)

  1. 对于iOS 9,请在网络视图中使用customUserAgent属性。

  2. 对于iOS 8及更早版本,请改为:

    NSUserDefaults.standardUserDefaults()。registerDefaults([“UserAgent”:“BlahBlahBlah”])

答案 1 :(得分:0)

我设法做到了。这是解决方案!

ViewController:

override func viewDidAppear(animated: Bool) {

        let url = NSURL(string:"http://www.examplepage.com/")!
        webView!.loadRequest(NSURLRequest(URL: url))
        webView!.allowsBackForwardNavigationGestures = true     
    }

AppDelegate:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent": “YourUserAgent”])

    return true
    }