[英]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.