日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

(五十九)iOS网络基础之UIWebView简易浏览器实现

發布時間:2023/12/13 HTML 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (五十九)iOS网络基础之UIWebView简易浏览器实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【UIWebView網絡瀏覽器】

通過webView的loadRequest方法可以發送請求顯示相應的網站,例如:

NSURL *url = [NSURL URLWithString:@"http://m.baidu.com"];// 創建請求數據NSURLRequest *request = [NSURLRequest requestWithURL:url];// 向服務器發送請求[self.webView loadRequest:request];
通過使用searchBar,可以實現網址的輸入,searchBar有一個delegate屬性可以將控制器設為其代理,下面實現了一個簡易的瀏覽器。

首先是調用代理方法來監聽搜索按鈕:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{[self.view endEditing:YES];[self searchWithNSStringUrl:searchBar.text];}
然后實現搜索欄信息的解析,注意沒有http://要補全的邏輯方法:

使用NSStringFromRange方法可以實現字符串的子串位置查找,通過判斷range的location成員是否等于NSNotFound可以判斷是否匹配失敗。

- (void)searchWithNSStringUrl:(NSString *)surl{NSRange range = [surl rangeOfString:@"http://"];NSLog(@"range = %@",NSStringFromRange(range));if (range.location == NSNotFound) {NSString *head = @"http://";surl = [head stringByAppendingString:surl];}NSURL *url = [NSURL URLWithString:surl];// 創建請求數據NSURLRequest *request = [NSURLRequest requestWithURL:url];// 向服務器發送請求[self.webView loadRequest:request];}

直接判斷字符串是否以某字符串開頭可以直接使用NSString的hasPrefix:方法。

前進和后退的實現:

直接將按鈕的前進和后退事件和按鈕綁定。

一些細節:

1.在不能后退和前進時應該將按鈕禁用,不同頁面是通過鏈表連接的。

判斷的方式:通過判斷webView的鏈表,也可以通過canGoBack和canGoForward兩個BOOL變量來判斷。

2.地址欄應該隨著網頁內容而改變,通過獲取WebView的URL,并通過absoluteString方法轉為字符串:

- (void)webViewDidStartLoad:(UIWebView *)webView{NSURL *url = webView.request.URL;NSString *surl = [url absoluteString];self.searchBar.text = surl; }
使用HTML:

PhoneGap是基于HTML 5開發的一套框架,只要會做網頁就可以開發應用,但是不能使用原生的硬件。

好處是可以一次性開發多個平臺的應用。


【利用UIWebView加載文件】

可以通過Bundle或者沙盒加載。

傳入文件的URL即可加載doc、txt、圖片、pdf等各種內容。

例如讀入一本pdf:

NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"English.pdf" withExtension:nil]; NSURLRequest *request = [NSURLRequest requestWithURL:fileURL]; [self.webView loadRequest:request];還可以通過dataDetectorTypes來設定需要高亮鏈接的文本類型:例如電話、地址、郵箱等

_webView.dataDetectorTypes = UIDataDetectorTypeAll;
【利用UIWebView加載HTML】

[self.webView loadHTMLString:@"<h1>hello</h1>" baseURL:nil];利用這個功能可以實現刪除廣告等功能。


【UIWebView能夠加載文件的原因】

MIME type是一個互聯網標準,服務器將MIME標識符放入傳送的數據中告訴瀏覽器使用哪種插件讀取相關文件,MIME類型可以包含視頻、圖像、文本等數據。

網絡通過二進制數據流來傳輸數據,客戶端通過MIME type能夠知道如何處理接收的數據。

轉載于:https://www.cnblogs.com/aiwz/p/6154191.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的(五十九)iOS网络基础之UIWebView简易浏览器实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。