如何在iOS webview中的当前屏幕上显示节目文本

时间:2016-04-07 14:53:25

标签: javascript html ios objective-c webview

我想在iOS UIWebView上添加书签。 webview加载了html文档。 书签数据应该是webview中当前显示屏幕上的文本内容位置。 如果有可能,请帮助我。

感谢。

1 个答案:

答案 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];