gpt4 book ai didi

swift - 运行时用户代理更改

转载 作者:搜寻专家 更新时间:2023-10-30 23:09:24 25 4
gpt4 key购买 nike

我正在尝试在我的应用程序中添加移动、桌面版网站功能。但问题是 User Agent 仅在加载 webView 之前立即更改。在我的应用程序中,我为 Mobile 添加了第一个按钮,为 Desktop 版本站点添加了第二个按钮。 UIWebView 在开始时选择 User Agent。谁能告诉我有什么方法可以在运行时更改 User Agent。谢谢

 var defaultUserAgent = String()
@IBOutlet weak var webView: UIWebView!

@IBOutlet weak var activityIndicator: UIActivityIndicatorView!

override func viewDidLoad() {
super.viewDidLoad()

let url = NSURL(string: "https://www.youtube.com")
let request = NSURLRequest(URL: url!)
activityIndicator.hidesWhenStopped = true
activityIndicator.startAnimating()
webView.loadRequest(request)
}

@IBAction func mobile(sender: AnyObject) {
NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent": defaultUserAgent])
print(defaultUserAgent)

let url = NSURL(string: "https://www.youtube.com")
let request = NSURLRequest(URL: url!)
activityIndicator.hidesWhenStopped = true
activityIndicator.startAnimating()
webView.loadRequest(request)

}

@IBAction func desktop(sender: AnyObject) {

NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"])

let url = NSURL(string: "https://www.youtube.com")
let request = NSURLRequest(URL: url!)
activityIndicator.hidesWhenStopped = true
activityIndicator.startAnimating()
webView.loadRequest(request)

}

func webViewDidFinishLoad(webView: UIWebView) {
activityIndicator.stopAnimating()
print(webView.stringByEvaluatingJavaScriptFromString("navigator.userAgent"))
defaultUserAgent = webView.stringByEvaluatingJavaScriptFromString("navigator.userAgent")!
}

最佳答案

我建议您使用 WkWebView 而不是 UIWebView 因为它相对更强大

iOS 9 的 WkWebView 有一个直接的 API

 if #available(iOS 9, *) {
webViewObj.customUserAgent = "customUserAgentValue"
}

关于swift - 运行时用户代理更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39495422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com