iphone - webapp - web app manifest ios
cargar el archivo HTML local cuando se hace clic en el enlace en WebView (3)
Tengo un WebView que carga un archivo HTML local como este:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"test1" ofType:@"html"]isDirectory:NO]]];
Lo que quiero es hacer clic en un enlace en el archivo HTML local test1 y luego para que webView cargue el archivo HTML local test2.
¿Cómo puedo hacer esto?
Como en una página web regular. Deje que el enlace en la prueba 1 apunte a prueba2.
- (void)viewDidLoad {
[super viewDidLoad];
[webview loadHTMLString:[self htmlString] baseURL:[self baseURL]];
}
- (NSURL *)baseURL{
NSString *htmlpath = [[NSBundle mainBundle] pathForResource:@"webpage" ofType:@"html"];
return [[[NSURL alloc] initFileURLWithPath:htmlpath] autorelease];
}
- (NSString *)htmlString{
NSError *error = nil;
NSString *html = [[[NSString alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"webpage" ofType:@"html"]
encoding:NSUTF8StringEncoding
error:&error] autorelease];
return html;
}
En lugar de cargar una solicitud, use el - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL
.
Cree un NSString
partir del archivo HTML local de esta manera:
NSError *error = nil;
NSString *html = [[NSString alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"test1" ofType:@"html"] encoding:NSUTF8StringEncoding error:&error];
A continuación, cárguelo en la vista web, así:
[webview loadHTMLString:html baseURL:[NSURL URLWithString:[[NSBundle mainBundle] pathForResource:@"test1" ofType:@"html"]]];
Luego, en su archivo HTML cuando se vincula a otras páginas, simplemente use su nombre de archivo, como <a href="test2.html">Test 2</a>
y cargaría la página en la misma vista web sin problemas.