UIWebView
IOS系統(tǒng)提供了 UIWebView 控件,從而可以方便地集成與網(wǎng)頁(yè)相關(guān)的多種應(yīng)用,該控件內(nèi)置瀏覽器控件,可以用來(lái)瀏覽網(wǎng)頁(yè)、打開(kāi)文檔等等。
?
一、UIWebView 可以加載和顯示某個(gè)URL的網(wǎng)頁(yè),也可以顯示基于HTML的本地網(wǎng)頁(yè)或部分網(wǎng)頁(yè):
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]]];
二、使用網(wǎng)頁(yè)加載指示,加載完成后再顯示網(wǎng)頁(yè)出來(lái)
????首先要指定委托方法:
???????webView.delegate?=self;?
????UIWebView主要有下面幾個(gè)委托方法:
??????1、- (void)webViewDidStartLoad:(UIWebView *)webView;開(kāi)始加載的時(shí)候執(zhí)行該方法。
??????2、- (void)webViewDidFinishLoad:(UIWebView *)webView;加載完成的時(shí)候執(zhí)行該方法。
??????3、- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;加載出錯(cuò)的時(shí)候執(zhí)行該方法。
?????這樣,可以利用 webViewDidStartLoad 和 webViewDidFinishLoad 方法實(shí)現(xiàn)本功能:????????
三、UIWebView還可以通過(guò) stringByEvaluatingJavaScriptFromString 函數(shù)來(lái)執(zhí)行 javascript代碼,從而可以更加靈活地處理網(wǎng)頁(yè)文件
??1. 獲得UIWebView的標(biāo)題
NSString *theTitle=[webView stringByEvaluatingJavaScriptFromString:@"document.title"];
??2. 獲取頁(yè)面的URL
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
??3. 修改頁(yè)面元素的值
NSString *js_result = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('q')[0].value='朱祁林';"];
??4. 表單提交
NSString *js_result2 = [webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].submit(); "]?
四、綜合運(yùn)用以上方法,還可以實(shí)現(xiàn)部分網(wǎng)頁(yè)的顯示,基本思路如下:
????1. 用 loadRequest 先獲取網(wǎng)頁(yè),但先設(shè)置 UIWebView.hidden = YES;
????2. 在 webViewDidFinishLoad 中,用
NSString *js_result2 = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementByIdx_x_x('xxxx').innerHTML; "] 獲取指定標(biāo)簽元素的HTML代碼 3. 再使用 loadHTMLString 加載該HTML代碼,即可轉(zhuǎn)載于:https://www.cnblogs.com/mumoozhu/p/4582814.html
總結(jié)
- 上一篇: Mysql中explain命令查看语句执
- 下一篇: Nim教程【十二】