基于钥匙串iOS Xcode在UIWebView中显示和隐藏DIV

时间:2014-02-06 03:18:50

标签: ios xcode html uiwebview

如何根据数组中的值隐藏和显示DIV?

我已经弄清楚如何使用以下内容编辑UIWebView中的DIV:

-(void)webViewDidFinishLoad:(UIWebView *)jsWebView
{
    // Replace the <div id="footer"> in a webpage with an <img> instead.
    NSString *jsStuff = [jsWebView stringByEvaluatingJavaScriptFromString:@"document.getElementById('footer').innerHTML='<img src=\"http://url.to.image.png\">'"];
}

然后我有一个NSArray,其中填充了一个人所属的Active Directory组。使用与另一个应用绑定的库从钥匙串中拉出此数组,并根据他们所在的群组为每个人填充不同的数据。

所以,现在我需要弄清楚如何在UIWebView中显示和隐藏DIV,具体取决于他们是否在特定组中。我为每个DIV标记了一个唯一的ID,因此我正在思考“getElementById&#39;将用于识别哪个DIV是哪个。但是我如何匹配它们:

if(NSArray contains thisValue) {
divID.visible =  show;
} else {
divID.visible = hide;
}

编辑:我最终将数组中的值添加到查询字符串中,并使用javascript根据它在查询字符串中找到的内容来评估和显示/隐藏不同的div。

1 个答案:

答案 0 :(得分:0)

同样,使用stringByEvaluatingJavaScriptFromString方法。一个基本的例子是:

if(NSArray contains thisValue) {
   // show
   [jsWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById('%@').style.display='block'", divID]];
} else {
   // hide
   [jsWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById('%@').style.display='none'", divID]];
}

其中divID是NSString,带有您想要的div id。