UIWebView
IOS系統提供了 UIWebView 控件,從而可以方便地集成與網頁相關的多種應用,該控件內置瀏覽器控件,可以用來瀏覽網頁、打開文檔等等。
?
一、UIWebView 可以加載和顯示某個URL的網頁,也可以顯示基于HTML的本地網頁或部分網頁:
a. 加載 URL
b. 加載 HTML
NSBundle *bundle = [NSBundle mainBundle];NSString *resPath = [bundle resourcePath];
NSString *filePath?= [resPath stringByAppendingPathComponent:@"Home.html"];
[webView loadHTMLString:[NSString stringWithContentsOfFile:filePath]
??baseURL:[NSURL fileURLWithPath:[bundle bundlePath]]];
二、使用網頁加載指示,加載完成后再顯示網頁出來
????首先要指定委托方法:
???????webView.delegate?=self;?
????UIWebView主要有下面幾個委托方法:
??????1、- (void)webViewDidStartLoad:(UIWebView *)webView;開始加載的時候執行該方法。
??????2、- (void)webViewDidFinishLoad:(UIWebView *)webView;加載完成的時候執行該方法。
??????3、- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;加載出錯的時候執行該方法。
?????這樣,可以利用 webViewDidStartLoad 和 webViewDidFinishLoad 方法實現本功能:????????
三、UIWebView還可以通過 stringByEvaluatingJavaScriptFromString 函數來執行 javascript代碼,從而可以更加靈活地處理網頁文件
??1. 獲得UIWebView的標題
NSString *theTitle=[webView stringByEvaluatingJavaScriptFromString:@"document.title"];
??2. 獲取頁面的URL
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
??3. 修改頁面元素的值
NSString *js_result = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('q')[0].value='朱祁林';"];
??4. 表單提交
NSString *js_result2 = [webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].submit(); "]?
四、綜合運用以上方法,還可以實現部分網頁的顯示,基本思路如下:
????1. 用 loadRequest 先獲取網頁,但先設置 UIWebView.hidden = YES;
????2. 在 webViewDidFinishLoad 中,用
NSString *js_result2 = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementByIdx_x_x('xxxx').innerHTML; "] 獲取指定標簽元素的HTML代碼 3. 再使用 loadHTMLString 加載該HTML代碼,即可轉載于:https://www.cnblogs.com/mumoozhu/p/4582814.html
總結
- 上一篇: Mysql中explain命令查看语句执
- 下一篇: Android---AlarmManag