可以在UIWebViewDelegate的
- (void)webViewDidFinishLoad:(UIWebView *)webView 方法中获取相关内容,实例代码如下
- (void)webViewDidFinishLoad:(UIWebView *)webView { //获取所有的html NSString *htmlContent = @"document.documentElement.innerHTML"; //获取网页title NSString *htmlTitle = @"document.title"; //获取网页的一个值 NSString *htmlNumber = @"document.getElementById('title').innerText"; //获取到得网页内容 NSString *htmlContentInfo = [webView stringByEvaluatingJavaScriptFromString:htmlContent]; NSLog(@"%@",htmlContentInfo); NSString *titleHtmlInfo = [webView stringByEvaluatingJavaScriptFromString:htmlTitle]; NSLog(@"%@",titleHtmlInfo); NSString *numberHtmlInfo = [webView stringByEvaluatingJavaScriptFromString:htmlNumber]; NSLog(@"%@",numberHtmlInfo); }
NSString *title = webView.title;
可通过 KVO 方式获取网页标题的动态变化。
[webView addObserver:self forKeyPath:NSStringFromSelector(@selector(title)) options:NSKeyValueObservingOptionNew context:NULL];
UIWebView音视频的播放与暂停
参考资料:http://www.itstrike.cn/Question/7823dee3-ccbd-4039-8f5e-f8289d43a178.html
// [_webView stringByEvaluatingJavaScriptFromString: @"document.querySelector('audio').pause();"]; //经测试以下代码可行 [_webView stringByEvaluatingJavaScriptFromString: @"var audioPlayer = document.querySelector('audio');\ if (audioPlayer.paused) \ { \ audioPlayer.play(); \ } \ else \ { \ audioPlayer.pause(); \ } \ "];当然这只会停止第一个视频,等等 iPad 脚本需要稍微有点复杂和循环遍历页面上的所有视频。
var videos = document.querySelectorAll("video");for (var i = videos.length - 1; i >= 0; i--){ videos[i].pause();};