2012-01-04 23 views
1

我正在使用UIWebView來顯示包含鏈接的html頁面,其中一些鏈接是本地文件(file:// ...),一些是遠程web網站(http:// ...)。UIWebViewDeletate shouldStartLoadWithRequest:被重定向請求多次調用

對於某些網站shouldStartLoadWithRequest被調用兩次,例如如果HTML包含:

<a href="http://www.zagat.com/Verticals/PropertyDetails.aspx?VID=8&R=36121"> 

與的

"www.zagat.com/Verticals/PropertyDetails.aspx?VID=8&R=36121" 

的請求預計然後shouldStartLoadWithRequest被調用但後來它被再次調用但這次用重定向請求

"http://zagat.mobi/" 

是否有可能從一個UIWebView得到反饋時,這是怎麼回事?

+0

我打電話給BOOL ret = [[UIApplication sharedApplication] openURL:....與請求URL。而RET是*始終* NO每次調用(原件和重定向),即使頁面加載成功。這是一個錯誤? (如果URL沒有被重定向,則返回YES)。 – Gruntcakes 2012-01-04 00:38:10

回答

1

這發生在一個網站重定向到他們的移動版本。我只是在Safari瀏覽器iPhone應用程序與你發佈的鏈接測試這一點,它確實重定向到Zagat的移動網站。有些網站比其他網站更明智,因爲您重定向到哪裏。您可以強制頁面通過不允許重定向來加載非移動版本。

+1

如何避免重定向非移動版? – Minakshi 2014-07-09 09:28:56

+0

你怎麼能讓它重定向,但也只能讓它調用一次? – shim 2016-03-08 19:01:17