Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript在UIWebView中隐藏div_Javascript_Html_Uiwebview_Hide - Fatal编程技术网

使用javascript在UIWebView中隐藏div

使用javascript在UIWebView中隐藏div,javascript,html,uiwebview,hide,Javascript,Html,Uiwebview,Hide,我正在尝试使用java脚本从网页中隐藏一些div,但是它似乎不起作用,有人能帮我吗,这是我的代码 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSString *urlAddress = @"http://tvmdn.org/"; //Create a URL object. NSURL *url = [

我正在尝试使用java脚本从网页中隐藏一些div,但是它似乎不起作用,有人能帮我吗,这是我的代码

- (void)viewDidLoad
{

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

NSString *urlAddress = @"http://tvmdn.org/";

//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];

//URL Requst Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

//Load the request in the UIWebView.
[webView loadRequest:requestObj];

[self.webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"  

 "script.type = 'text/javascript';"  

 "script.text = \"function hideID(idName) { "  

 "var id = document.getElementById(idName);"  

 "id.style.display = 'none';"

 "}\";" 

 "document.getElementsByTagName('head')[0].appendChild(script);"];  

[self.webView stringByEvaluatingJavaScriptFromString:@"hideID('headerbar');"];  

}

谢谢,Sami。

您不需要像那样注入javascript(通过动态创建脚本元素)。您应该可以这样做:

- (void)webViewDidFinishLoad:(UIWebView *)webview{
    NSString *js = @"var element = document.getElementById('headerbar');  element.style.dislay = 'none';";
    NSString *res = [webview stringByEvaluatingJavaScriptFromString:js];
   [super webViewDidFinishLoad:webview];
}
将您的类设为a
UIWebViewDelegate
(请参见:)并按如下方式实现javascript:

- (void)webViewDidFinishLoad:(UIWebView *)webview{
    NSString *js = @"var element = document.getElementById('headerbar');  element.style.dislay = 'none';";
    NSString *res = [webview stringByEvaluatingJavaScriptFromString:js];
   [super webViewDidFinishLoad:webview];
}

布伦丹的回答是正确的,但这是对上述问题的一个微妙的转变

- (void)webViewDidFinishLoad:(UIWebView *)webview{

    [webView stringByEvaluatingJavaScriptFromString:@"(\".classIdToHide\").hide();"];
}