2012-02-27 123 views
1

我得到了我的uiwebview工作並顯示指定的網址。唯一的問題是,出現的網頁不是移動網頁,而是正常的網頁。移動Safari瀏覽器中的相同網址打開網頁的移動版本,但在我的應用程序中打開了正常版本。任何人都知道這個的原因?UIWebView不顯示手機網頁,但顯示正常的網頁

NSURL *url = [NSURL URLWithString:website]; 
    [webview loadRequest: [NSURLRequest requestWithURL:url]]; 

回答

4

UIWebView不發送相同的瀏覽器標題爲Safari瀏覽器,因此Web服務器不知道要提供的頁面:如果多數民衆贊成任何幫助

這裏是我的代碼片段,我用故事板你的應用。

您可以添加自定義標題以嘗試修復問題。

NSURL *url = [NSURL URLWithString:website]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
[request setValue:@"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3" forHTTPHeaderField:@"User-Agent"]; 
[webview loadRequest: request]; 
+0

感謝您的回覆。我嘗試了你的建議,但沒有奏效。這很奇怪。也許它與故事板有關? – 2012-02-27 15:25:41

+0

它可能是你需要一個其他頭部告訴網絡服務器,它需要服務的移動版本的網站。你可以詢問網站建設者如何檢查服務器是否是移動網站。 – rckoenes 2012-02-27 15:28:40

+0

謝謝,畢竟它確實工作。它適用於所有其他網站,而不是特定的網站。這是奇怪的,因爲它在移動safari中工作正常 – 2012-02-27 16:09:18

-1

你可以看到,如果有一個URL參數,您可以添加在這個特定的網站,因爲他們似乎並不決定顯示出移動的時候來檢查的UIWebView代理。

E.G.也許去www.theirsite.com?mobile = true會完成它。

+1

這不是任何一種通用標準。只有當您知道某個特定網站使用該機制來顯示其網站的移動版本時,它纔會起作用。很確定大多數網站使用標題信息。 – 2012-12-21 00:58:38