簡體   English   中英

UIWebView方法loadHTMLString:和loadRequest之間的區別

[英]Difference between the UIWebView methods loadHTMLString: and loadRequest

我有一個UIWebView,我想加載一個SVG圖像。 該文件的內容是純SVG,即<svg>...</svg> 該文件可以正常加載到普通和Safari,也可以使用loadRequest加載到UIWebView中:執行以下操作:

url = [NSURL fileURLWithPath:path];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[webView loadRequest:req];

但是,如果我將文件的內容加載到字符串中,並嘗試將HTML字符串加載到webview中,則不會顯示任何內容:

html = [NSString stringWithContentsOfFile:path
                                encoding:NSASCIIStringEncoding
                                   error:nil];
[webView loadHTMLString:html baseURL:nil];

上述兩種技術之間有什么理由嗎? 他們不應該給出相同的結果嗎? 該文件是純ASCII,所以我認為沒有編碼問題。

我想我現在可以通過使用文件獲得我需要完成的工作,但我討厭將文件系統用於非持久性數據。

任何幫助是極大的贊賞!!!

謝謝,羅恩

要解決此問題,您必須使用loadData:MIMEType:textEncodingName:baseURL:而不是。

NSData *data = [html dataUsingEncoding:NSUTF8StringEncoding];
[webView loadData:data MIMEType:@"application/xhtml+xml" textEncodingName:@"utf-8" baseURL:baseUrl];

我不確定這個但是如果baseURL設置為nil,我認為webview不知道從哪里加載內容。

希望這個問題可以幫助你鏈接到WebView - iPhone中的資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM