UIWebView goBack 问题

发布于 2024-11-03 20:46:21 字数 258 浏览 0 评论 0原文

我像这样加载我的 html 数据:

[webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:url];

但是当调用时:

[WebView goBack];

webView 无法返回到该 html 页面。

我应该怎么办 ? 我感谢任何回应。

I load my html data like this:

[webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:url];

But when called:

[WebView goBack];

webView can not go back to that html page.

What should I do ?
I appritiate any respond.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小嗲 2024-11-10 20:46:21

如果 UIWebView 中的初始页面不是远程页面(例如 www.yahoo.com),而只是本地 html 文件,则单击第一页中的任何链接后,您将被重定向,但 goBack 方法将变为无法返回第一个初始页面(html 文件)。
你可以使用一点小技巧来做到这一点。 UIWebView 有一个只读 BOOL 参数 canGoBack,表示是否可以返回。它通常用于禁用/启用“返回”按钮。
我正在使用这样的东西:

- (void) userPressedGoBackButton {
    if ([self.webView canGoBack]) {
            [self.webView goBack];
        } else {
            [self.webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:url];
    }
}

If your initial page in UIWebView is not remote page (like www.yahoo.com) but just a local html file, after clicking any link in this first page you will be redirected, but goBack method will became unavailable for going back to the first initial page (html file).
You can use little hack for do this. The UIWebView have a readonly BOOL parameter canGoBack, which is indicates a possibility to going back. It usually used to disable/enable "go back" button.
I am using something like this:

- (void) userPressedGoBackButton {
    if ([self.webView canGoBack]) {
            [self.webView goBack];
        } else {
            [self.webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:url];
    }
}
浪菊怪哟 2024-11-10 20:46:21

我也有同样的问题。我自己的解决方案是创建一个按钮来返回缓存的 html 数据页面。这个按钮调用了一个方法,在viewDidLoad中也调用了这个方法来初始化webview。

我的案例是从网站加载 rss 数据,然后创建 html 字符串,该字符串使用 loadHTMLString 在 webview 中显示。该html页面上有一些链接,点击链接后,返回按钮可以正常工作,但无法转到第一页-RSS显示页面。

I had the same question. The solution for myself is to create a button to go back to cached html data page. This button calls a method, which is also called in viewDidLoad to initialise the webview.

My case is loading a rss data from a website, then create html string, which is displayed with webview using loadHTMLString. There are some links on this html page, after clicking the links, the goback button works properly, but cannot go to the first page - the rss displayed page.

漫漫岁月 2024-11-10 20:46:21

请尝试这样的操作:

 NSString *urlAddress = @"http://www.stackoverflow.com";

 NSURL *url = [NSURL URLWithString:urlAddress];

 NSURLRequest *requestObj = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];

 [self.webview loadRequest:requestObj];

然后尝试后退导航:

 [self.webview goBack]; 

Please try something like this:

 NSString *urlAddress = @"http://www.stackoverflow.com";

 NSURL *url = [NSURL URLWithString:urlAddress];

 NSURLRequest *requestObj = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];

 [self.webview loadRequest:requestObj];

and then try your back navigation:

 [self.webview goBack]; 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文