在我的应用程序中,我有一个UIWebView
,其中我需要添加类似浏览器的功能(用户可以goBack,转发或重新加载页面)。为此,我使用了此tutorial.
在我的代码中,viewDidLoad
只有一处更改:
我正在从这样的本地html文件加载数据:
NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"File name" ofType:@"html" inDirectory:NO];
NSData *htmlData = [NSData dataWithContentsOfFile:htmlFile];
[self.webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];
而不是:
NSURL* url = [NSURL URLWithString:@"http://iosdeveloperzone.com"];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
加载初始html文件后如果我在该页面上进行任何点击而不是后退按钮应该启用,而不是在第二次url点击后启用它,以便我无法返回到原始主页。
请帮助我。
感谢。
答案 0 :(得分:2)
我得到了答案。这是因为您在没有webView
的情况下将数据加载到loadRequest
。如果您load data
作为字符串webView
,那么它将不会有任何url
返回或加载旧页面。因此,它不会将您提供的数据存储到webView
。为此,您需要像这样提供url
。
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"File name" ofType:@"html"] isDirectory:NO]]];