Javascript 从UIWebView隐藏元素
我有一个Javascript 从UIWebView隐藏元素,javascript,ios,uiwebview,uiwebviewdelegate,Javascript,Ios,Uiwebview,Uiwebviewdelegate,我有一个UIWebView,其中我加载了一个NSURLRequest。我不能完全控制所显示页面的html,但我知道它将包含一个元素,该元素的id是我事先知道的。假设它是submmit\u form\u按钮 我不希望应用程序的用户看到此元素。我想在用户在UIWebView中看到它之前将其隐藏 这样做的最佳选择是什么?在显示UIWebView的控制器中,我应该将解决此问题的代码放在哪里? 我知道我可以使用Javascript来实现这一点。我更关心的是,在显示UIWebView的本机iOS应用程序的上
UIWebView
,其中我加载了一个NSURLRequest
。我不能完全控制所显示页面的html,但我知道它将包含一个元素,该元素的id是我事先知道的。假设它是submmit\u form\u按钮
我不希望应用程序的用户看到此元素。我想在用户在UIWebView
中看到它之前将其隐藏
这样做的最佳选择是什么?在显示UIWebView
的控制器中,我应该将解决此问题的代码放在哪里?
我知道我可以使用Javascript来实现这一点。我更关心的是,在显示
UIWebView
的本机iOS应用程序的上下文中,如何实现这一点,该应用程序从外部源获取html。根据@Ric的评论,我解决了这个问题
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('submmit_form_button').style.display = 'none'"];
}
根据@Ric的评论,我用
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('submmit_form_button').style.display = 'none'"];
}
用“;”在同一单独行中隐藏多个项目 以下是Swift中的示例:-
let items = "document.getElementById('item_1').style.display='none';"
+ "document.getElementById('item_2').style.display='none'"
webView.stringByEvaluatingJavaScript(from: items)
用“;”在同一单独行中隐藏多个项目 以下是Swift中的示例:-
let items = "document.getElementById('item_1').style.display='none';"
+ "document.getElementById('item_2').style.display='none'"
webView.stringByEvaluatingJavaScript(from: items)
通过在页面加载后从UIWebView执行JavaScript。通过在页面加载后从UIWebView执行JavaScript。