2013-01-23 23 views
3

在我的應用程序,我使用的是網頁視圖加載不同的版本,根據用戶的首選language.Using WebFrame的方法的loadRequest本網站的 -的loadRequest網頁視圖不工作

[aWebView主機]的loadRequest:[的NSURLRequest requestWithURL:[NSURL URLWithString:aStr]]];

如果aStr只包含英文字母,即如果aStr = http:// ....../language/English,那麼其工作正常&網頁加載。但是,如果aStr類似於http://....../language/ウンウンウン(日語),則不會發生任何事情,WebView加載也不會引發任何錯誤。如果我在Safari中粘貼相同的鏈接,網頁加載在那裏。有關如何解決此問題的任何建議?

我也試過[aWebView setMainFrameURL:aStr]方法。那裏也是同樣的問題。

回答

3

您必須先轉義aStr中的無效URL字符,然後才能使用它來創建使用[aStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]的NSURL。

//Encode invalid URL characters 
aStr = [aStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 
[[aWebView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:aStr]]]; 

URLWithString:如果字符串無效,則返回一個零值。這就是爲什麼你的UIWebView沒有錯誤,並且沒有加載任何東西。

+2

非常感謝!那做了這個工作。 – user1876657