如何在 iOS webview 中获取当前屏幕上的显示文本
Posted
技术标签:
【中文标题】如何在 iOS webview 中获取当前屏幕上的显示文本【英文标题】:How to get the show text on current screen in iOS webview 【发布时间】:2016-04-07 14:53:24 【问题描述】:我想在 ios UIWebView 上添加书签。 webview 是加载 html 文档。 书签数据应该是 webview 中当前显示屏幕上的文本内容位置。 如果可能,请帮助我。
谢谢。
【问题讨论】:
您已经尝试过什么,请向我们展示您的代码,以便我们更好地了解您想要做什么。 请注意,这是一个问答网站,不是代码编写服务。如果您edit您的问题描述了您到目前为止所尝试的内容以及您遇到的问题,那么我们可以尝试帮助解决具体问题。您还应该阅读How to Ask。 他没有尝试过任何事情,但得到了他想要的东西..只是代码..懒惰的开发人员会倒下.. 【参考方案1】:使用 UIWebView 您可以获得委托方法:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
- (void)webViewDidStartLoad:(UIWebView *)webView;
- (void)webViewDidFinishLoad:(UIWebView *)webView;
- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error;
所以你要检查来自webViewDidFinishLoad
的 URL,如下所示:
- (void) webViewDidFinishLoad:(UIWebView *)webView
NSString *requestUrlString = webView.request.URL.absoluteString;
NSLog(@"requestUrlString : %@", requestUrlString);
然后您可以使用 CoreData 或 NSUserDefaults 打开 URL 并将其保存为书签,如下所示:
// New bookmark
NSDictionary *bookmark = @@"bookmark_title":@"My Bookmark", @"bookmark_url":@"https://www.google.com/";
// Get bookmarks
NSMutableArray *bookmarks = [[NSUserDefaults standardUserDefaults] objectForKey:@"myBookmarks"];
// Update bookmarks
[bookmarks addObject: bookmark];
[[NSUserDefaults standardUserDefaults] setObject:bookmarks forKey:@"myBookmarks"]
[[NSUserDefaults standardUserDefaults] synchronize];
【讨论】:
以上是关于如何在 iOS webview 中获取当前屏幕上的显示文本的主要内容,如果未能解决你的问题,请参考以下文章