1

在我的应用程序UIWebView中,我需要添加类似浏览器的功能(用户可以返回、转发或重新加载页面)。为此,我使用了本教程的代码。

在我的代码中,我只有一个更改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 单击后启用它,这样我就无法返回原始主页。

请帮我解决一下这个。

谢谢。

4

1 回答 1

2

我得到了答案。这是因为您将数据加载到webViewwithout loadRequest. 如果您load data作为webView字符串输入,那么它将没有任何url返回或加载旧页面。因此它不会存储您提供给webView. 为此,您需要url像这样提供。

[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"File name" ofType:@"html"] isDirectory:NO]]];
于 2013-07-31T15:26:23.983 回答