¿Cómo podemos cargar nuestro propio archivo html en UIWebView?¿Cómo puedo cargar un archivo HTML local en UIWebView?
Respuesta
El siguiente código se carga un archivo HTML llamado index.html
en su carpeta de proyecto:
[WebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
La documentación de Apple sugiere que usar este método para cargar HTML local no es seguro: '' 'Para ayudarlo a evitar ser vulnerable a ataques de seguridad, asegúrese de usar este método para cargar archivos HTML locales; no use loadRequest: .''' He grabado su sugerencia ('loadHTMLString: baseURL:') en mi respuesta a continuación. –
Sí, no dijo eso hace 5 años cuando publiqué esta respuesta. Siempre es bueno leer la documentación. Eliminaría esto, pero es la respuesta aceptada y obviamente ha ayudado a mucha gente. –
Cody Gray es correcto, pero también hay de esta manera:
// 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]];
Esto es útil si necesita edite el html antes de cargarlo.
Tiene razón, pero pasaría '[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]' en lugar de 'nil' para' baseURL'. – Jilouc
Ah sí, no recordaba haber cargado otros recursos del html. He editado mi respuesta, ¡gracias! – deanWombourne
Pasaría [[NSBundle mainBundle] bundleUrl] –
Mediante el uso de código siguiente se puede cargar un archivo HTML en una red WebView.here es vista web obj e inde
Web.delegate = self;
[Web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
Swift
guard let path = NSBundle.mainBundle().pathForResource("index", ofType: "html") else {
return
}
let url = NSURL(fileURLWithPath: path)
self.webview.loadRequest(NSURLRequest(URL:url))
Swift Versión 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 {
}
Apple d OCUMENTACIÓN sugiere el uso de loadHTMLString:baseURL:
:
Utilice la loadHTMLString: URLbase: método para empezar a cargar los archivos HTML locales o el loadRequest: Método para comenzar la carga de contenidos web. Utilice el método stopLoading para detener la carga y la propiedad de carga para averiguar si una vista web está en proceso de carga.
La documentación loadHTMLString:baseURL:
ofrece aún más el razonamiento:
Para ayudar a evitar ser vulnerables a ataques de seguridad, asegúrese de usar este método para cargar archivos HTML locales; no use loadRequest :.
Ésta podría ayudar: https://stackoverflow.com/a/29741277
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:@""]];
- 1. Cargar UIWebView con un archivo local CSS
- 2. Enviar parámetros a un archivo local en un UIWebView
- 3. ¿Cómo puedo cargar un archivo HTML local en lugar de una página web en la vista web de Xcode?
- 4. ¿Cargar html local en WebView?
- 5. ¿Cómo incrustar un archivo de video local en Html para jugar en UIWebView?
- 6. Cargar archivo html local en la aplicación WebView Metro Style
- 7. ¿Cómo cargar la página html local con intención en Android?
- 8. ¿Cómo cargo un archivo html local en Jsoup?
- 9. Cómo ejecutar el archivo HTML + javascript ejecutado en UIWebView. .?
- 10. Cómo insertar HTML en un UIWebView
- 11. Uso de imágenes Retina en un UIWebView local
- 12. ¿Cómo puedo cargar un archivo usando Catalyst?
- 13. cómo cargar un archivo en mi servidor usando html
- 14. ruby: cómo cargar el archivo .rb en el contexto local
- 15. ¿Cómo visualizo HTML local en QWebview?
- 16. Cómo cargar un archivo en S3 sin crear un archivo local temporal
- 17. Abrir archivo Html local en Webview - Android
- 18. Obtener el contenido de un archivo local sin cargar
- 19. ¿Cómo puedo cargar un módulo Perl en tiempo de ejecución?
- 20. ¿Cómo saber la diferencia entre cargar un iframe o cargar una página completa en un UIWebView?
- 21. ¿Hay alguna manera de cargar un archivo JS local dinámicamente?
- 22. Cargar URL de HTTPS en UIWebView
- 23. SVN - ¿Cómo cargar un solo archivo?
- 24. UIWebView cargar datos de video locales
- 25. ¿Puedo cargar javascript desde un archivo php?
- 26. ¿Puedo cargar un archivo .gitconfig desde otro?
- 27. iPhone UIWebView carga lenta en archivos HTML locales
- 28. Cargando NSData en un UIWebView
- 29. WebView JavaScript dominio cruzado de un archivo HTML local
- 30. UIWebView carga cadena html analizada
http://stackoverflow.com/questions/7063276/how-to-load-local-html-file-into-uiwebview-iphone/24159166# 24159166 – iGo