隐藏UIWebView中的元素

时间:2013-02-23 03:10:19

标签: javascript ios uiwebview uiwebviewdelegate

我有一个UIWebView我加载NSURLRequest。我没有完全控制所显示页面的html,但我知道它将包含一个具有我事先想知道的id的元素。我们说它是submmit_form_button

我不希望应用的用户看到此元素。我想在UIWebView

中向用户显示之前隐藏它

这样做的最佳选择是什么?在显示UIWebView的控制器中,我应该放置能解决这个问题的代码吗? 我知道我可以使用Javascript。我更关心的是如何在本机iOS应用程序的上下文中处理此问题,该应用程序显示UIWebView从外部源获取html。

2 个答案:

答案 0 :(得分:3)

在@Ric评论的引导下,我用

解决了问题
- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('submmit_form_button').style.display = 'none'"];
}

答案 1 :(得分:0)

为了将多个项目隐藏在与“;”相同的单独行中。

以下是Swift中的示例: -

let items = "document.getElementById('item_1').style.display='none';" 
            + "document.getElementById('item_2').style.display='none'"

webView.stringByEvaluatingJavaScript(from: items)