Инъекция UIWebView скрыть панель навигации в webViewDidStartLoad - PullRequest
2 голосов
/ 18 марта 2012

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

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
// finished loading, hide the activity indicator in the status bar
[self activityIndicatorAnimate:NO];
[self.browser stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"  
 "script.type = 'text/javascript';"  
 "script.text = \"function myFunction() { "
 "var b=document.getElementsByTagName('div')[0];b.style.visibility='hidden';"
 "}\";"  
 "document.getElementsByTagName('head')[0].appendChild(script);"];  
[self.browser stringByEvaluatingJavaScriptFromString:@"myFunction();"];

NSLog(@"%@", [webView stringByEvaluatingJavaScriptFromString: @"document.all[0].innerHTML"]);

}

Дело в том, что это выполняется, когда документ загружен и потому что он занимаетвремя загрузки URL-адреса, панель навигации остается видимой во время загрузки.В любом случае я могу сделать это, чтобы скрыть панель навигации с самого начала?

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

Заранее спасибо

1 Ответ

1 голос
/ 15 мая 2012

Я не знаю, как спрятать его перед загрузкой контента, но я подумываю об альтернативном - вы можете просто загрузить локальный html в веб-просмотр, а затем с помощью ajax загрузить страницу в ответ ajax, сделайте что-нибудь с html, а затем отобразите это в своем веб-представлении. Чтобы загрузить локальный файл в ваше веб-представление, проверьте эти коды -

NSString *html = [NSString alloc];

html = @"index.htm";
NSBundle *bundle = [NSBundle mainBundle]; 
NSString *path = [bundle bundlePath];

NSString *fullPath = [NSBundle pathForResource:html ofType:nil inDirectory:path];

NSURL *url = [NSURL fileURLWithPath:fullPath];
url = [url URLByDeletingLastPathComponent];

url = [NSURL URLWithString:@"index.htm?page=1" relativeToURL:url];
NSURLRequest *request = [NSURLRequest requestWithURL:url];


[self.mHtmlViewer loadRequest:request];

Не забудьте добавить свой HTML в свой проект, перетащив их в проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...