iOS基礎 - UIWebView

1、UIWebView簡介

iOS內置的瀏覽器控件,能夠瀏覽網頁、打開文檔等html

可以加載html/htmpdfdocxtxt等格式的文件web

系統自帶的Safari瀏覽器就是經過UIWebView實現的瀏覽器

2、關於MIME type

MIME的英文全稱是「Multipurpose Internet Mail Extensions」 多用途互聯網郵件擴展,是一個互聯網標準,最先應用於電子郵件系統,後來應用到瀏覽器服務器

服務器經過說明多媒體數據的MIME類型,告訴瀏覽器發送的多媒體數據的類型,從而讓瀏覽器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等lua

服務器將MIME標誌符放入傳送的數據中告訴瀏覽器使用哪一種插件讀取相關文件url

MIME類型能包含視頻、圖像、文本、音頻、應用程序等數據spa

3、得到本地文件的MIMEType

// 得到本地文件的MIMEType插件

- (NSString *)MIMEType:(NSString *)fileName代理

{orm

    // 定義路徑

      NSString *path = [[NSBundle mainBundle]pathForResource:fileName ofType:nil];

    // 定義URL

      NSURL *url = [NSURL fileURLWithPath:path];

    // 定義請求

      NSURLRequest *request = [NSURLRequest requestWithURL: url];

    // 定義響應

      NSURLResponse *response = nil;

    // 發送同步請求

    [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];

    NSLog(@"MIMEType is %@", [response MIMEType]);

    return [response MIMEType];

}

4、UIWebViewDelegate代理方法

// 網頁開始加載的時候調用

- (void)webViewDidStartLoad:(UIWebView *)webView

// 網頁加載完成的時候調用

- (void)webViewDidFinishLoad:(UIWebView *)webView

// 網頁加載出錯的時候調用

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

// 網頁中的每個請求都會被觸發這個方法,返回NO表明不執行這個請求(經常使用於JSiOS之間通信)

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

5、JSiOS之間的通訊iOS調用JS代碼

// 獲取當前頁面的url

NSString *url = [_webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];

NSLog(@"url %@", url);

// 獲取當前頁面的標題

NSString *title = [_webView stringByEvaluatingJavaScriptFromString:@"document.title"];

NSLog(@"title %@", title);

// 提交表單

[_webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].submit(); "];

相關文章
相關標籤/搜索