怎么用WebView加载本地html

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用WebView加载本地html相关的知识,希望对你有一定的参考价值。

1、可以是用loadData,这种方法需要先将html文件读取出来,以字符串传入loadData,可以展示页面,但是不会引用css、js等文件。
2、使用loadUrl,不过需要注意,这里因为是使用本地数据,所以传入的url需要做些处理,例如:
  a、如果html文件存于assets:则加前缀:file:///android_asset/
  b、如果html文件存于sdcard:则加前缀:content://com.android.htmlfileprovider/sdcard/
    注意:content前缀可能导致异常,直接使用file:///sdcard/ or file:/sdcard也可以
参考技术A 1、可以是用loadData,这种方法需要先将html文件读取出来,以字符串传入loadData,可以展示页面,但是不会引用css、js等文件。
2、使用loadUrl,不过需要注意,这里因为是使用本地数据,所以传入的url需要做些处理,例如:
  a、如果html文件存于assets:则加前缀:file:///android_asset/
  b、如果html文件存于sdcard:则加前缀:content://com.android.htmlfileprovider/sdcard/
    注意:content前缀可能导致异常,直接使用file:///sdcard/ or file:/sdcard也可以
参考技术B UIWebView加载工程本地网页与本地图片

- (void)viewDidLoad

[super viewDidLoad];

NSString *filePath = [[NSBundle mainBundle]pathForResource:@"1" ofType:@"html"];
NSString *htmlString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

myWebView = [[UIWebView alloc] initWithFrame:self.view.bounds];
myWebView.delegate = self;
[self.view addSubview:myWebView];

[myWebView loadHTMLString:htmlString baseURL:[NSURL URLWithString:filePath]];



-(void)webViewDidFinishLoad:(UIWebView *)webView

NSString *imagePath = [[NSBundle mainBundle] resourcePath];
imagePath = [imagePath stringByReplacingOccurrencesOfString:@"/" withString:@"//"];
imagePath = [imagePath stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
NSString * js = [NSString stringWithFormat:@"document.images[0].src='file:/%@//%@'",imagePath,@"icon-04.png"];

[myWebView stringByEvaluatingjavascriptFromString:js];
NSString *path = [myWebView stringByEvaluatingJavaScriptFromString:@"document.images[0].src"];
NSLog(@"path:%@", path);

android webview加载html5出现跨域问题怎么解决

参考技术A

ajax跨域,要使用jsonp 这种方式

建议你查看jquery API有说明


服务器要返回一个Callback 

本回答被提问者和网友采纳

以上是关于怎么用WebView加载本地html的主要内容,如果未能解决你的问题,请参考以下文章

androidwebview加载本地js怎么实现交互

Android WebView 自适应屏幕

android 中 webview 怎么用 localStorage

android webview怎么加载ionic的html5

android中webview加载html,用本地的css渲染页面如何做

将值从 NSString 设置为 html webview 中的变量