【问题标题】:Save history of UIWebView and reload it保存 UIWebView 的历史并重新加载它
【发布时间】:2011-06-22 18:08:08
【问题描述】:

我有一个带有 UIWebView 子视图的视图,并且该视图显然是由视图控制器管理的。比如说,我用这个 UIWebView 浏览了一段时间,然后导航到由不同视图控制器管理的不同视图,然后返回到 UIWebView 视图。它将加载父 URL,而不是我离开它的那个。如何加载我浏览过的 URL 以及历史记录,即能够从我切换视图的 URL 返回到父 URL。该代码可能会有所帮助。

NSString *string = [[NSString alloc] initWithString:@"http://www.google.com"];
NSURL *url =[[NSURL alloc] initWithString:string];
NSURLRequest *aRequest = [[NSURLRequest alloc] initWithURL:url];
[webView loadRequest:aRequest];

当我们回到这个网页视图时,它会再次加载“url”。但是,我希望它加载 UIWebView 最后所在的 url。 谢谢。

【问题讨论】:

    标签: iphone uiwebview nsurl browser-history


    【解决方案1】:

    其实很简单。在 viewWillDisappear 方法中,保存 webView.Request 的当前 URL,在下次启动时,尝试查看它是否有价值并加载现有的,否则,加载默认的“google.com”。希望这会有所帮助。

    【讨论】:

    • 对...但是历史会加载它吗?也就是说,如果我有一个后退按钮并按下它,它应该会将我带到历史记录中的上一页。
    • 不,当然不是,我在您的问题中没有看到这一点。我建议覆盖 UIWebView 以将请求数组保存在每个“– webView:shouldStartLoadWithRequest:navigationType:”上的队列中
    • 我不太确定这是否是正确的方法......我也在寻找一些 javascript 来实现这个......
    • 我接受您的回答,因为其中的初始部分是正确的。我还没有一个完整的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    相关资源
    最近更新 更多