iOS-69-WKWebview用法与UIWebview对比(附demo、PPT)
来源:互联网 发布:matlab7,1如何进入编程 编辑:程序博客网 时间:2024/05/22 16:38
一、终于有时间写个博客了,一写就停不下来啊,资源上传不尽啊,最近一直忙着各种生活、工作的事情,现在再分享点小东西。本来想打算好好地写篇博客介绍下WKWebview的用法,但是我做了一个PPT,更方便和详细的介绍了两者的用法和区别,并在调试中遇到的问题,详细请下载demo文件,内含PPT、demo源码
二、调研笔记:调研UIWebview和WKWebview异同点
1、UIWebview+JavascriptCore < WKWebview (协议:WKScriptMessageHandler, WKNavigationDelegate, WKUIDelegate)
3、这两个方法类似:UIWebview: shouldStartLoadWithRequestWKWebview: decidePolicyForNavigationAction
4、WKWebview自带进度条
5、通过kvo技术可监听捕获加载状态、标题、进度条状态(loading、title、estimatedProgress)
6、UIWebview自动存储cookie信息;WKWebview需手动存储 (例如:在web页面调用登录接口,UIWebview可以自动的将Teldsid赋给登录接口,WKWebview需手动赋值) ;手动添加cookie的方式多一种(
让前端根据不同平台做出不同的响应)
7、捕获js中的方法:如果我们的页面中有调用了js的alert、confirm、prompt方法,会对应WKWebview的三个代理方法: (1)、runJavaScriptAlertPanelWithMessage (2)、runJavaScriptConfirmPanelWithMessage (3)、runJavaScriptTextInputPanelWithPrompt
8、APP执行js:
UIWebview: [_webView stringByEvaluatingJavaScriptFromString:@”var p =document.getElementById(‘p’);” ];
WKWebview:[_webView evaluateJavaScript:@”var p = document.getElementById(‘p’);” completionHandler:nil] (回调方法)
9、三个代理作用
1、WKNavigationDelegate:用来追踪加载过程(页面开始加载、加载完成、加载失败)、决定是否执行跳转 2、WKUIDelegate:
1):创建一个新的WebView 、
2): 针对web界面的三种提示框(警告框、确认框、输入框)
(1)、runJavaScriptAlertPanelWithMessage
(2)、runJavaScriptConfirmPanelWithMessage
(3)、runJavaScriptTextInputPanelWithPrompt
3、WKScriptMessageHandler:从web界面中接收到一个脚本时调用
代理方法:-(void)userContentController:(WKUserContentController )userContentController didReceiveScriptMessage:(WKScriptMessage )message;
10、WKWebview缺点:addScriptMessageHandler 存在内存泄漏问题
当前解决办法:另建一个遵循WKScriptMessageHandler协议的类,
11.WKWebview(UIWebview没有这个问题):
NSHTTPCookieExpires 添加cookie时,若不设置过期时间会添加不上cookie信息,所以~~~
第二种解决办法:在初始化web view时,直接通过配置WKWebViewConfiguration参数
三、demo、PPT下载地址:http://download.csdn.net/detail/iot_li/9604011
- iOS-69-WKWebview用法与UIWebview对比(附demo、PPT)
- ios之wkwebview与UIwebview的对比
- WKWebView 与UIWebview 对比讲解
- iOS (一) - UIWebView 与 WKWebView . 基本使用
- iOS:WKWebView与UIWebView的区别
- iOS:WKWebView与UIWebView的区别
- UIWebView与WKWebView
- UIWebView与WKWebView
- UIWebView与WKWebView
- iOS网络3—UIWebView与WKWebView使用详解
- IOS混合编程 - UIWebView 与 WKWebView . 基本使用 (一)
- iOS 介绍使用UIWebView和WKWebView加载进度条的代码+demo
- iOS中UIWebView与WKWebView、JavaScript与OC交互、Cookie管理看我就够(上)
- iOS中UIWebView与WKWebView、JavaScript与OC交互、Cookie管理看我就够(中)
- iOS中UIWebView与WKWebView、JavaScript与OC交互、Cookie管理看我就够(下)
- iOS 使用WKWebView替换UIWebView(二)——代码实战(包括OC与JS互调)
- [IOS开发]js与WKwebview交互Demo(调取二维码扫描)
- iOS Cell嵌套UIWebView(内附UIWebView详解)
- A. Beru-taxi
- MC9S08AW60学习笔记--Debug
- gson 解析json数据
- 浅谈Android生命周期
- cocos2dx_lesson1_环境搭建
- iOS-69-WKWebview用法与UIWebview对比(附demo、PPT)
- 13 为什么会有泛型?
- 【计算机网络-1】【第一章】计算机网络体系结构
- MyBatis学习总结(一)——MyBatis快速入门
- hd 5620 KK's Steel(斐波那契数列)
- Android初级教程:如何自定义一个状态选择器
- 多线程、网络总结
- 将char转换成wchar_t, 获取中文字符串的任意汉字元素
- pat 1038. Recover the Smallest Number (30)