从UIWebView访问元数据

时间:2011-08-11 08:21:10

标签: ios uiwebview meta-tags

如何访问加载到iOS中UIWebView的HTML页面的元数据?

3 个答案:

答案 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中内联它。