我想在iOS UIWebView上添加书签。 webview加载了html文档。 书签数据应该是webview中当前显示屏幕上的文本内容位置。 如果有可能,请帮助我。
感谢。
答案 0 :(得分:0)
使用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
的网址,如下所示:
- (void) webViewDidFinishLoad:(UIWebView *)webView
{
NSString *requestUrlString = webView.request.URL.absoluteString;
NSLog(@"requestUrlString : %@", requestUrlString);
}
然后您可以打开并将URL保存为CoreData或NSUserDefaults的书签,如下所示:
// 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];