UIWebView:获取<BODY>标签的内容

UIWebView: get the contents of the <BODY> tag

我初始化一个 UIWebView 如下:

NSString *msg = <HTML><BODY bgcolor=\"#504a4b\" style=\"font-family:Verdana; font-size:20\" > <B> No Messages";
[webviewMessageLog loadHTMLString:msg baseURL:NULL];

显示的文字完全符合我的预期。稍后,我想追加到这个日志中。作为测试,我做了:

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *oldHTML = [webviewMessageLog stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
    NSLog(@"%@", oldHTML);

this returns 标签后的 HTML 开始,像这样:

 <b> No Messages</b>

我的问题是:我需要读取什么 javascript 对象才能看到我在 BODY 标签中设置的参数?我如何查看之前设置的 font-family 和 bgcolor 项?我想保留在别处设置的任何格式,我希望只阅读之前的 BODY 标签并避免使用额外的代码来重新评估 BODY 标签应包含的内容。

谢谢!

如果想获取bgcolor属性,可以使用:

NSString *bgColor = [webviewMessageLog stringByEvaluatingJavaScriptFromString:@"document.body.getAttribute("bgcolor")"];
NSLog(@"%@", bgColor);

类似的,你也可以访问其他属性。