我的网页有1000个图像和值。每当我将页面加载到UIWebView时,它都会加载值,但由于图像太多,下载需要时间。
那么有什么办法,我可以从网上下载页面,但是可以从本地下载图片。
非常感谢任何帮助。
谢谢,
安基塔
答案 0 :(得分:4)
如果你有来自网络服务器的HTML和本地的图像
yourBaseURL = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] bundlePath]];
- 醇>
[webView loadHTMLString:@“YourHTML”baseURL:yourBaseURL]
并且您的HTML包含存储的本地图像的名称,如
图像标记 - > imgage src ='fig1.jpg width = 150 height = 150 align =“left”
这应该有效。
不完全按照您的要求,您可以在webView中加载本地图像。
答案 1 :(得分:1)
基本上:
从服务器下载HTML。
NSURL *URL = [[NSURL alloc] initWithString:@"http://www.example.com/page.php"];
NSError *error = nil;
NSStringEncoding encoding;
NSString *theSource = [[NSString alloc] initWithContentsOfURL:URL usedEncoding:&encoding error:&error];
替换文件引用以在本地加载图像 注意双斜线,这似乎很重要。
// Replace:
<img src="File.png">
// By something like:
<img src="file://Path//To//Resources//File.png">
详细信息如何操作(Joe D'Andrea的帖子):
Link to resources inside WebView - iPhone
最后让UIWebView加载HTML:
[webView loadHTMLString:htmlString baseURL:baseURL];
现在它应该从服务器加载带有本地图像的“新鲜”HTML。
答案 2 :(得分:0)
这对我很有用。
NSURL *myBaseURL = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] bundlePath]];
NSString *myString = [[managedObject valueForKey:@"long_presentation"] stringByReplacingOccurrencesOfString:@"/FooFolder/BarFolder" withString:[NSString stringWithFormat:@"%@/FooFolder/BarFolder", [[NSBundle mainBundle] bundlePath] ] ];
[attractionWebView loadHTMLString:myString baseURL:myBaseURL];
我必须包含替换图像源
img src="FooFolder/BarFolder/my_image.jpg" ...
获得正确的道路。