2012-05-10 2 views
2

Я пытаюсь использовать java-скрипт, чтобы скрыть несколько div с веб-страницы, однако, похоже, что это не работает, может кто-нибудь мне помочь, heres мой код.Использование javascript для скрытия div в UIWebView

- (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');"]; 

} 

Спасибо, Сами.

ответ

2

Вам не нужно вводить javascript, как это (путем динамического создания элемента сценария). Вы просто должны быть в состоянии сделать это следующим образом:

Сделайте свой класс а UIWebViewDelegate (см: Apple Docs) и просто реализовать JavaScript, как это:

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

ответ Брендана правильно, но вот постное скручивание до вышеуказанного

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

    [webView stringByEvaluatingJavaScriptFromString:@"(\".classIdToHide\").hide();"]; 
} 
Смежные вопросы