2013-10-13 60 views
0

我想使WebView從HTML代碼中加載一個頁面,並將其作爲NSData存儲。當我嘗試這樣做時,我得到一個空白頁。當我加載頁面時,我在做什麼有什麼問題?如果不是,我需要看看我的程序中的其他地方。WebFrame loadData不工作?

if (essence.html){ //essence.html is an NSData 
    NSLog(@"Inserting HTML code into browser window: %@", [[NSString alloc] initWithData:essence.html encoding: NSUTF8StringEncoding]); 
    [webView.mainFrame loadData:essence.html MIMEType: @"text/html" textEncodingName: @"utf-8" baseURL:nil]; //webView is a WebView 
} 

我創造了條件,使essence.html包含的頁面http://kathleenmelian.com/test.html(這只是說「你好」)HTML代碼。當上面的代碼運行時,NSLog打印這個:

Inserting HTML code into browser window: <html><head></head><body>hello</body></html> 

因此,essence.html肯定包含瀏覽器應該能夠加載的有效代碼。

回答

0

抱歉打擾你們。我在我的程序模型中修正了一些其他的bug,並且以某種方式解決了這個問題。我不知道如何。危機避免了。

0

你可以使用

[webView loadHTMLString: 
    [[NSString alloc] initWithData:essence.html encoding:NSUTF8StringEncoding] 
    baseURL:nil]; 

另一個想法是與"UTF-8",在某些情況下被稱爲有所作爲(不知道的UIWebView)取代"utf-8"

+0

謝謝,但它仍然沒有出現。它實際上必須是webView.mainFrame,因爲mainFrame返回WebView的WebFrame,這就是加載方法。通過這種方式,WebView與UIWebView(在iOS中使用)不同。我也試過「UTF-8」,但沒有區別。蘋果文檔稱使用「utf-8」。 – sudo

+0

在iOS中,'UIWebView'沒有'mainFrame'屬性。抱歉,您可能正在混合使用SDK。 – Mundi

+0

我在OS X.我有點惱火,蘋果做了一個UIWebView和WebView是不同的東西:/ – sudo