Как мы можем загрузить наш собственный html файл в UIWebView?
Как загрузить локальный файл HTML в UIWebView?
Ответ 1
Следующий код загрузит HTML файл с именем index.html
в папку проекта:
[WebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
Ответ 2
Коди Грей прав, но есть и этот способ:
// Load the html as a string from the file system
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString *html = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
// Tell the web view to load it
[WebView loadHTMLString:html baseURL:[[NSBundle mainBundle] bundleURL]];
Это полезно, если вам нужно отредактировать html перед его загрузкой.
Ответ 3
Swift
guard let path = NSBundle.mainBundle().pathForResource("index", ofType: "html") else {
return
}
let url = NSURL(fileURLWithPath: path)
self.webview.loadRequest(NSURLRequest(URL:url))
Ответ 4
Используя следующий код, вы можете загрузить html в WebView.here web - веб-представление obj и inde
Web.delegate = self;
[Web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
Ответ 5
Swift Version 2.1
// load html to String with Encoding
let path = NSBundle.mainBundle().pathForResource("policy", ofType: "html")
do {
let fileHtml = try NSString(contentsOfFile: path!, encoding: NSUTF8StringEncoding)
webView.loadHTMLString(fileHtml as String, baseURL: nil)
}
catch {
}
Ответ 6
Документация Apple предлагает использовать loadHTMLString:baseURL:
:
Используйте loadHTMLString: baseURL: метод для начала загрузки локальных файлов HTML или метод loadRequest: начать загрузку веб-контента. Используйте метод stopLoading для остановки загрузки и свойство загрузки, чтобы узнать, находится ли веб-просмотр в процессе загрузки.
Документация loadHTMLString:baseURL:
предлагает дополнительные аргументы:
Чтобы избежать уязвимости для атак безопасности, обязательно используйте этот метод для загрузки локальных файлов HTML; Не используйте loadRequest:.
Это может помочь: fooobar.com/questions/117566/...
Ответ 7
NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"privacy-Policy" ofType:@"html" inDirectory:nil];
NSData *htmlData = [NSData dataWithContentsOfFile:htmlFile];
[webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];