如何访问加载到iOS中UIWebView的HTML页面的元数据?
答案 0 :(得分:4)
您可以按
访问元标记的内容NSString *graphURL = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('facebook_share')
[0].getAttribute('content')"];
您可以在其中更改'content'
中声明的属性名称答案 1 :(得分:1)
通过注入javascript调用 -
var metas = document.getElementsByTagName('META');
var i;
for (i = 0; i < metas.length; i++)
{
...
}
答案 2 :(得分:1)
在
中提取作者<html><head>
<meta name="Author" content="Bloody Mary">
</head><body></body></html>
将javascript包装在函数中,将其另存为文件reportMeta.js
并将其添加到项目中。
// file reportMeta.js
function reportMeta(){
alert(document.getElementsByName('author')[0].getAttribute('content'));
}
然后从webViewDidFinishLoad:加载文件并执行它:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *path = [[NSBundle mainBundle] pathForResource:@"reportMeta" ofType:@"js"];
NSString *jsCode = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
[webView stringByEvaluatingJavaScriptFromString:jsCode];
[webView stringByEvaluatingJavaScriptFromString:@"reportMeta()"];
}
或者,如果您的JS很短,您可以在Objective-C中内联它。