常用的方法,wkwebview的代理方法:
//执行js方法获取导航栏标题
[webview evaluatejavascript:@"document.title" completionhandler:^(id _nullable title, nserror * _nullable error) {
if (validstr(title)) {
self.title = title;
} else {
self.title = @"";
}
}];
2.在第一种方法获取不到title的时候,添加kvo监听方法,用来获取webview的title
// 添加进度监听
[_webview addobserver:self forkeypath:@"title" options:nskeyvalueobservingoptionnew context:null];
#pragma mark kvo 实现方法
- (void)observevalueforkeypath:(nsstring *)keypath ofobject:(id)object change:(nsdictionary<nskeyvaluechangekey,id> *)change context:(void *)context {
if ([keypath isequaltostring:@"title"]) {
if (object == self.webview) {
self.title = self.webview.title;
} else {
[super observevalueforkeypath:keypath ofobject:object change:change context:context];
}
}
}
发表评论