yes webapp precomposed name link icon home content capable apple app iphone html cocoa-touch hyperlink uiwebview

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.