2015-09-24 80 views
2

我搜索了所有內容,但無法找到請求桌面版本的網站而不依賴站點本身(他們自己的「桌面版本」按鈕)的方式。在iOS中使用WKWebView請求桌面站點

有沒有辦法做到這一點?我想如果我能在UIWebView中使用它,可以在WKWebView上以相同的方式完成。

+0

我不知道細節,但通常通過欺騙「用戶代理」頭來完成。 – rmaddy

回答

3
與用戶代理

大概:

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/

+0

在iOS 8和9都可以做這項工作嗎? –

3

如果你只專注於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實例之前進行設置。

相關問題