iOS8 WebKit庫之——WKWebView篇

來源:互聯網
上載者:User

標籤:mil   不同   with   javascrip   tin   成功   dep   nal   res   

apple和google為webkit該瀏覽器引擎的發揚光大做出了重要貢獻。在WWDC 2014公布會上公布iOS 8中,apple公布了WebKit架構,這意味著OSX和IOS開發人員將共用相同的開發庫。新改變能夠提高開發人員編寫的代碼的反覆使用性。
webkit使用WKWebView來取代IOS的UIWebView和OSX的WebView,而且使用Nitro JavaScript引擎,這意味著全部第三方瀏覽器執行JavaScript將會跟safari一樣快。
第一、WKWebView添加的屬性和方法
類比UIWebView,跟UIWebView的API對照。
添加的屬性:
1、estimatedProgress 載入進度條。在IOS8之前我們是通過一個假的進度條來實現
2、backForwardList 表示historyList
3、WKWebViewConfiguration *configuration; 初始化webview的配置
添加的方法:
1、- (instancetype)initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration *)configuration 
初始化
3、(WKNavigation *)goToBackForwardListItem:(WKBackForwardListItem *)item; 
跳到曆史的某個頁面
第二、同樣的屬性和方法
goBack、goForward、canGoBack、canGoForward、stopLoading、loadRequest、scrollView
第三、被刪去的屬性和方法:
1、- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
在跟js互動時,我們使用這個API,眼下WKWebView完檔沒有給出實作類別似功能的API
2、無法設定緩衝
在UIWebView。使用NSURLCache緩衝,通過setSharedURLCache能夠設定成我們自己的緩衝,但WKWebView不支援NSURLCache
第四、delegate方法的不同
UIWebView支援的代理是UIWebViewDelegate,WKWebView支援的代理是WKNavigationDelegate和WKUIDelegate
WKNavigationDelegate主要實現了涉及到導航跳轉方面的回調方法
WKUIDelegate主要實現了涉及到介面顯示的回調方法:如WKWebView的改變和js相關內容
詳細來說WKNavigationDelegate除了有開始載入、載入成功、載入失敗的API外。還具有額外的三個代理方法:
1、- (void)webView:(WKWebView *)webView didReceiveServerRedirectForProvisionalNavigation:(WKNavigation *)navigation
這個代理是serverredirect時調用
2、- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler
這個代理方法表示當client收到server的回應標頭,依據response相關資訊,能夠決定這次跳轉能否夠繼續進行。
3.- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
依據webView、navigationAction相關資訊決定這次跳轉能否夠繼續進行,這些資訊包括HTTP發送請求,如頭部包括User-Agent,Accept

iOS8 WebKit庫之——WKWebView篇

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.