我搜索了所有內容,但無法找到請求桌面版本的網站而不依賴站點本身(他們自己的「桌面版本」按鈕)的方式。在iOS中使用WKWebView請求桌面站點
有沒有辦法做到這一點?我想如果我能在UIWebView中使用它,可以在WKWebView上以相同的方式完成。
我搜索了所有內容,但無法找到請求桌面版本的網站而不依賴站點本身(他們自己的「桌面版本」按鈕)的方式。在iOS中使用WKWebView請求桌面站點
有沒有辦法做到這一點?我想如果我能在UIWebView中使用它,可以在WKWebView上以相同的方式完成。
大概:
NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A"])
我發現從這個來源用戶代理字符串:http://www.useragentstring.com/pages/Safari/
在iOS 8和9都可以做這項工作嗎? –
如果你只專注於iOS的版本9 WKWebView的,還有一個屬性customUserAgent
。
// Safari's User Agent (OS X 10.10)
webview.customUserAgent = @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36";
// Reload webview
[webview reloadFromOrigin];
當customUserAgent
的值爲零時,webview具有默認的用戶代理。
另外,最好通過使用JavaScript爲網站修改視口來判斷設備類型。
對於iOS 8版本的WKWebView,NSUserDefaults技巧是唯一的方法。在創建WKWebView實例之前進行設置。
我不知道細節,但通常通過欺騙「用戶代理」頭來完成。 – rmaddy