【问题标题】:UIWebView: get the contents of the <BODY> tagUIWebView:获取<BODY>标签的内容
【发布时间】:2015-01-02 15:31:37
【问题描述】:

我初始化一个 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);

返回标签后开始的 HTML,如下所示:

 <b> No Messages</b>

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

谢谢!

【问题讨论】:

    标签: javascript ios uiwebview


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢!所以我将不得不查询每个潜在的元素,因为我不一定知道会设置什么?没有办法将body标签的全部内容拉到一个NSString中?
    • @Thunk:检查一下:stackoverflow.com/questions/2048720/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 2011-10-17
    • 1970-01-01
    相关资源
    最近更新 更多