objective-c - iOS 開(kāi)發(fā)中 WKWebView 的使用問(wèn)題攔截跳轉(zhuǎn)
問(wèn)題描述
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler { 請(qǐng)問(wèn)這里的 webView.URL 和 navigationAction.request.URL 有什么區(qū)別? }- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler {請(qǐng)問(wèn)這里的 webView.URL 和 navigationAction.request.URL 有什么區(qū)別?}
問(wèn)題:1.上面代碼塊里面的問(wèn)題 webView.URL 和 navigationAction.request.URL 有什么區(qū)別?2.當(dāng)我第一次加載一個(gè)網(wǎng)頁(yè)的時(shí)候,上面的代理方法為什么會(huì)被調(diào)用多次?3.如果我想攔截網(wǎng)頁(yè)的跳轉(zhuǎn)鏈接,希望通過(guò) push 打開(kāi)一個(gè)頁(yè)面重新展示一個(gè) webview,最好是在哪個(gè)代理方法里攔截? 遇到重定向問(wèn)題怎么破?
問(wèn)題解答
回答1:調(diào)多次 是不是因?yàn)閡rl有重定向
回答2:你可以打印出來(lái)看看他們的值,看看跳轉(zhuǎn)網(wǎng)頁(yè)的時(shí)候是在哪里打印的。文檔里有關(guān)于這兩個(gè)代理的說(shuō)明。
/*! @abstract Decides whether to allow or cancel a navigation. @param webView The web view invoking the delegate method. @param navigationAction Descriptive information about the action triggering the navigation request. @param decisionHandler The decision handler to call to allow or cancel the navigation. The argument is one of the constants of the enumerated type WKNavigationActionPolicy. @discussion If you do not implement this method, the web view will load the request or, if appropriate, forward it to another application. */- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;/*! @abstract Decides whether to allow or cancel a navigation after its response is known. @param webView The web view invoking the delegate method. @param navigationResponse Descriptive information about the navigation response. @param decisionHandler The decision handler to call to allow or cancel the navigation. The argument is one of the constants of the enumerated type WKNavigationResponsePolicy. @discussion If you do not implement this method, the web view will allow the response, if the web view can show it. */- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler;
相關(guān)文章:
1. Python爬蟲(chóng)如何爬取span和span中間的內(nèi)容并分別存入字典里?2. mysql - 分庫(kù)分表、分區(qū)、讀寫(xiě)分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來(lái)哪些效率或者其他方面的好處3. mysql 查詢(xún)身份證號(hào)字段值有效的數(shù)據(jù)4. 視頻文件不能播放,怎么辦?5. flask - python web中如何共享登錄狀態(tài)?6. 請(qǐng)教使用PDO連接MSSQL數(shù)據(jù)庫(kù)插入是亂碼問(wèn)題?7. python - 數(shù)據(jù)與循環(huán)次數(shù)對(duì)應(yīng)不上8. 黑客 - Python模塊安全權(quán)限9. mysql - 把一個(gè)表中的數(shù)據(jù)count更新到另一個(gè)表里?10. node.js - nodejs開(kāi)發(fā)中常用的連接mysql的庫(kù)
