在第二个视图中获取 WebView AbsoluteString

Posted

技术标签:

【中文标题】在第二个视图中获取 WebView AbsoluteString【英文标题】:Getting WebView AbsoluteString In Second View 【发布时间】:2012-03-04 22:28:55 【问题描述】:

我需要一些细节。我浏览了多本书/论坛,并且我已经尽我所能地尝试了。但是,在这一点上,如果可能的话,我需要一些简单的外部帮助。我试图让这件事尽可能容易地实现目标,如果你需要什么,尽管问。

所以,这就是我想要做的:

我有什么: 我目前有 WebView 视图和带有表格的书签视图。我有 NSUserDefaults 将当前 URL 传递给书签视图并显示它(但不保存它)

目标是什么: 我需要在表格的其余部分下方添加一个“添加书签”按钮,以获取另一个视图中 WebView 的当前字符串并将其保存为表格的条目。

我需要什么: 因此,此时(作为开始)我需要一种从另一个视图获取 WebView 的 URL 并将其传输到书签视图的方法,以将其作为一行保存到表中。

我正在考虑通过调用 absoluteString 并保存到用户默认值来执行此操作,但我需要代码部分的帮助。我还不知道 NSUserDefaults 的完整用法,但我确实有一些经验。

感谢您的帮助!非常感谢!

杰克

【问题讨论】:

【参考方案1】:

您应该在打开书签视图之前将当前 URL 和标题传递给它:

[bookmarks setUrl:webView.request.URL.absoluteString];
[bookmarks setTitle:[webView stringByEvaluatingjavascriptFromString:@"document.title"]];
... open bookmark view now ...

一个完整的例子是:

- (IBAction)bookmarksPressed:(id)sender 

    // Open the book marks controller passing it the current URL and Title
    BookmarksViewController * bookmarksViewController = [[[BookmarksViewController alloc] initWithNibName:@"BookmarksViewController" bundle:nil] autorelease];
    [bookmarksViewController setUrl:webView.request.URL.absoluteString];
    [bookmarksViewController setTitle:[webView stringByEvaluatingJavaScriptFromString:@"document.title"]];
    [self presentModalViewController: bookmarksViewController animated:YES];


【讨论】:

这确实回答了我留待以后使用的一个问题;如何获得称号!那么,您的意思是,当您按下按钮切换视图时,它会将其传递到准备保存的书签视图? 我已经取得了一定的距离:我有默认值将 URL 传递给我可以显示它的书签视图。但是,在您提供的代码中,我将其放在哪里?我不明白您的示例中声明了什么“书签”。 Bookmarks 是视图控制器。我将它重命名为 BookmarksViewController 并添加了一些示例代码来说明我将如何使用它。

以上是关于在第二个视图中获取 WebView AbsoluteString的主要内容,如果未能解决你的问题,请参考以下文章

使用webview在第二个活动中未显示操作栏

Xcode Webview 输出“空”

无法在第二个视图控制器中更新我的 UIImage

Android 访问 webview 历史记录

如何在第二个 ViewController 表格视图中使用模型快速显示第一个 ViewController 值

我想在自定义列表视图中选择一项,该项目将显示在第二个活动的文本视图上