首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏iOS小生活

    WKWebView

    UIWebView自iOS2就有,WKWebView从iOS8.0(2014年9月WWDC)才有,毫无疑问,WKWebView相对UIWebVIew要优秀得多,主要表现在以下几点: 1,WKWebViewWKWebView的内存超过系统分配给它的内存的时候,WKWebView浏览器就会崩溃白屏,但是APP不会crash(APP会收到系统通知,并且尝试去重新加载页面)。 以上介绍了WKWebView的优点,但是其也有以下缺点: 1,WKWebView需要iOS9及更高的版本,虽然WKWebView是在iOS8之后引入的,但是iOS8的版本存在重大限制,比如无法访问本地存储的文件 WKWebView的用法 ? WKWebView API WKWebView对象可以显示交互式Web内容,例如应用内浏览器。你可以使用WKWebView类将web内容嵌入到你的应用程序中。 5,使用WKWebView的流程如下: ?

    7.6K20发布于 2019-08-12
  • 来自专栏朱慕之的博客

    WKWebView

    WKWebView API WKWebView的头文件声明: // webview 配置,具体看下面 @property (nonatomic, readonly, copy) WKWebViewConfiguration // 这个是决定是否Request - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction navigation withError:(NSError *)error; // 这与用于授权验证的API,与AFN、UIWebView的授权验证API是一样的 - (void)webView:(WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration *)frame completionHandler:(void (^)(void))completionHandler; // 调用JS的confirm()方法 - (void)webView:(WKWebView

    3.7K10发布于 2018-08-09
  • 来自专栏殷源的专栏

    WKWebView详解

    WKWebView主要涉及到以下类或协议,各部分可能互相依赖,文章按照apple文档的划分对每一个模块进行了详细的解释 WKWebView 配置和偏好 WKWebViewConfiguration WKPreferences 一个WKWebView对象显示交互式的web内容,比如在应用程序内的浏览器。 您可以使用WKWebView类来在应用程序中嵌入web内容,通过创建一个WKWebView对象,将其设置为视图,并发送一个请求来加载web内容。 从iOS 8.0和OS X 10.10开始,建议使WKWebView在应用程序中展示web内容,建议不要使用UIWebView或WebView。 创建一个新的WebView - (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration

    22.2K193发布于 2018-01-31
  • 来自专栏岑志军的专栏

    清除WKWebView cookies

    在UIWebView下,可以使用 [[NSURLCache sharedURLCache] removeAllCachedResponses];//清除缓存 WKWebView清除cookies的方法 cookies]) { NSLog(@"%@", cookie); } 参考链接:http://stackoverflow.com/questions/31289838/how-to-delete-wkwebview-cookies

    3.8K40发布于 2018-05-28
  • 来自专栏腾讯Bugly的专栏

    WKWebView 那些坑

    1、WKWebView 白屏问题 WKWebView 自诩拥有更快的加载速度,更低的内存占用,但实际上 WKWebView 是一个多进程组件,Network Loading 以及 UI Rendering 2、WKWebView Cookie 问题 Cookie 问题是目前 WKWebView 的一大短板 2.1、WKWebView Cookie存储 业界普遍认为 WKWebView 拥有自己的私有存储, WKWebView Cookie 问题在于 WKWebView 发起的请求不会自动带上存储于 NSHTTPCookieStorage 容器中的 Cookie。 3、WKWebView NSURLProtocol问题 WKWebView 在独立于 app 进程之外的进程中执行网络请求,请求数据不经过主进程,因此,在 WKWebView 上直接使用 NSURLProtocol 虽然 WKWebView 坑比较多,但是相对 UIWebView 在内存消耗、稳定性方面还是有很大的优势。尽管苹果对 WKWebView 的开发进度过于缓慢,但相信 WKWebView 才是未来。

    5.5K130发布于 2018-03-23
  • 来自专栏Cordova封装H5 APP

    wkwebview加载完成_【Swift】WKWebView与JS的交互使用

    一、前言 近日,有朋友问我关于WKWebView与JS的交互问题,可我之前一直使用的是UIWebView,也不曾做过WKWebView的交互啊! 接下来大家一块学习下WKWebView是怎么实现原生代码和JS交互的。 二、WKWebView 支持更多的HTML5的特性 高达60fps滚动刷新频率与内置手势 与Safari相容的JavaScript引擎 在性能、稳定性方面有很大提升占用内存更少 协议方法及功能都更细致 三、WKWebView的代理方法 /*! -> Void) 五、WKWebView与JS的交互使用 首页创建html文件,代码如下: <html lang="en"> <head> <meta charset

    6.6K00编辑于 2022-03-08
  • 来自专栏iOS开发攻城狮的集散地

    WKWebView的使用

    WKWebView的使用 前言 最近项目中的UIWebView被替换为了WKWebView,因此来总结一下WKWebView的使用。 示例Demo:WKWebView的使用 本文将从以下几方面介绍WKWebView: 1、WKWebView涉及的一些类 2、WKWebView涉及的代理方法 3、网页内容加载进度条的实现 4、JS 和OC的交互 5、本地HTML文件的实现 一、WKWebView涉及的一些类 WKWebView:网页的渲染与展示 注意: #import <WebKit/WebKit.h> //初始化 _webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT) configuration 文本编辑偏好设置.png 详情请前往我的Github:WKWebView的使用 如果我WKWebView使用的总结没帮到你,你也可以看看下面几篇文: https://www.jianshu.com/p

    3.5K61发布于 2018-06-19
  • 来自专栏岑志军的专栏

    WKWebView 白屏问题

    1、WKWebView 自诩拥有更快的加载速度,更低的内存占用,但实际上 WKWebView 是一个多进程组件,Network Loading 以及 UI Rendering 在其它进程中执行。 初次适配 WKWebView 的时候,我们也惊讶于打开 WKWebView 后,App 进程内存消耗反而大幅下降,但是仔细观察会发现,Other Process 的内存占用会增加。 在一些用 webGL 渲染的复杂页面,使用 WKWebView 总体的内存占用(App Process Memory + Other Process Memory)不见得比 UIWebView 少很多。 在 WKWebView 中加载下面的测试链接可以稳定重现白屏现象: http://people.mozilla.org/~rnewman/fennec/mem.html 这个时候 WKWebView.URL 在WKWebView白屏的时候,另一种现象是 webView.titile 会被置空, 因此,可以在 viewWillAppear 的时候检测 webView.title 是否为空来 reload 页面

    4.8K20发布于 2018-05-28
  • 来自专栏码客

    iOS 使用WKWebView

    页面禁用长按事件 方式一 禁用长按选择 func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) duration: TimeInterval) { myWebView.frame = self.webouterView.bounds } func webView(_ webView: WKWebView self.showNoticeText(message, time: 1.2) { completionHandler() } } func webView(_ webView: WKWebView { //页面开始加载,可在这里给用户loading提示 self.showNoticeWait(text: "加载中..."); } func webView(_ webView: WKWebView { //收到服务器重定向请求 } func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction

    2K10发布于 2019-10-21
  • 来自专栏码客

    使用WKWebView替换UIWebView

    { } func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) { } func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { } func webView(_ webView: WKWebView, didFail navigation: WKNavigation! , withError error: Error) { } 代理 WKUIDelegate 处理JS弹窗的回调 代理方法 //消息弹窗 func webView(_ webView: WKWebView ) { self.showNoticeText(message, time: 1.2) completionHandler(); } //确认弹窗 func webView(_ webView: WKWebView

    2.3K10发布于 2019-10-22
  • 来自专栏移动开发面面观

    iOS的WebView——WKWebView

    前言 在iOS8中,苹果推出了WKWebViewWKWebView有一个突出特点,就是内存占用少。 但作为一个全新的WebView,API相比于之前的UIWebView肯定会有所不同。 WKWebView基本使用 self.webview = [[WKWebView alloc]init]; [self.view addSubview:self.webview]; WKWebView的设置 WKWebView的主要设置项都在configuration成员中(比如是否允许浏览器手指缩放,h5的浏览器能否自动播放等)这些都属于浏览器本身的设置项。 WKNavigationDelegate 如命名,这个是WKWebView的导航的代理。它控制了WKWebView在加载一个页面流程中的各个关键时间节点的。 相当于WKWebView加载的生命周期方法。

    4.4K20发布于 2018-07-03
  • 来自专栏MapleYe

    【iOS】WKWebView的 keyboardDisplayRequiresUserAction

    如果我们加载一个Web页面时,想一开始唤起键盘,除了web端需要设置input 的focus状态外,我们还需要将keyboardDisplayRequiresUserAction设置为false 问题 然而,WKWebView -> Void extension WKWebView{ var keyboardDisplayRequiresUserAction: Bool? } 原文地址 https://stackoverflow.com/questions/32449870/programmatically-focus-on-a-form-in-a-webview-wkwebview

    4.3K10发布于 2020-03-30
  • 来自专栏用户7498074的专栏

    ​# iOS WKWebView适配(基础篇)

    一、初始化 1.initWithFrame:configuration self.wkWebView = [[WKWebView alloc] initWithFrame:frame configuration :[self _defaultConfiguration]]; 2.WKWebViewConfiguration类说明 wkwebview初始化时的参数配置 websiteDataStore wkwebview 属性 监听wkwebview整个生命周期的代理方法,详细见"二、生命周期方法" 二、生命周期方法(WKNavigationDelegate) 1.请求前决定是否要跳转 用户点击网页上的链接,打开新页面时 为了兼容iOS8的js通信,也可以在这里拦截url做bridge分发 - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction (WKNavigationActionPolicyCancel); } } 2.页面开始请求 正式发送请求前的回调,无法拦截,可以在这个点注入一些自己的js - (void)webView:(WKWebView

    4.5K30发布于 2020-06-24
  • 来自专栏LeeCen

    WKWebView ajax请求Cookie丢失

    image.png 使用 Charles 抓包(Mac推荐Charles) 发现H5里面 ajax请求失败302,这可能Cookie丢失或Cookie不相同了 原因是 WKWebView 请求携带的 Cookie stringWithFormat:@"'%@=%@; path=%@; domain=%@';", cookie.Name, cookie.Value, cookie.Path, cookie.Domain]; WKWebview 其他问题可以参考以下文章 WKWebView那些坑- 腾讯Bugly iOS 中 UIWebView 与 WKWebView、JavaScript 与 OC 交互、Cookie 管理看我就够(中 ) Can I set the cookies to be used by a WKWebView?

    3.9K10发布于 2018-10-11
  • 来自专栏Objective-C

    iOS-WKWebView 初步了解

    使用WKWebView加载百度页面占用内存(28M) 注意:可以说加载一个网页对内存是没有什么太大影响的,由此看出,单纯加载网页,WKWebView 比 UIWebView 内存强了太多 02-使用 WKWebView加载百度页面占用内存.png 3. 基本用法 引入头文件 #import <WebKit/WebKit.h> 在viewDidLoad中写好创建 WKWebView 和loadData的方法

    1K110发布于 2018-05-10
  • 来自专栏iOS开发攻城狮的集散地

    iOS WKWebView+UITableView混排

    WKWebView+UITableView混排 做内容展示页的时候,经常会用到WKWebView+UITableView的混排功能,现在此做一个总结,该功能的实现我采用了四种方法。 self.tableView.contentOffset = CGPointMake(0, _tableViewContentHeight - tableViewHeight); }else { } } 5、结尾 涉及 WKWebView 的使用、WKWebView+UITableView混排、UIScrollView实现原理、WKWebView离线缓存功能 等更多内容都在 https://github.com/wsl2ls/iOS_Tips 和AudioToolBox音视频编解码 8、OpenGL ES学习 9、LeetCode算法练习 10、键盘和UIMenuController的并存问题 11、iOS Crash防护 12、WKWebView

    2.2K30发布于 2020-06-09
  • 来自专栏我只不过是出来写写iOS

    WKWebView崩溃记录——SIGSEGV(11)

    关键词: WKWebView SIGSEGV(11) WebKit::LegacyCustomProtocolManagerProxy::stopLoading(unsigned long long UIApplicationMain + 212 20 gymbo 0x0000000104f50000 + 717816 21 libdyld.dylib _start + 4 触发场景: 加载WKWebView 的ViewController被释放,但WKWebView内容还在加载中,即使在VC的 dealloc(swift版本的是 deinit 方法)中设置webView stoploading以及WKWebView 解决方案: WKWebView中的WKProcessPool类,设置成单例 代码:swift版 声明WKProcessPool为单例 // MARK: - 扩展WKProcessPool,使其变成单例 ,所有WKWebView共享Cookie数据 extension WKProcessPool { static var SharedProcessPool: WKProcessPool = {

    3.4K40发布于 2019-06-20
  • 来自专栏Rindew的iOS技术分享

    WKWebView加载沙盒HTML

    由于WKWebView做了安全保护,不能够直接loadRequest一个本地文件,所以iOS9之后需要使用loadFileURL方法.

    2.9K40发布于 2020-08-26
  • 来自专栏Molier的小站

    NSURLProtocol 对 WKWebView 的处理

    里面所发出的请求即使他是 http/https 也无能为力,先来简单的了解下 WKWebView. # WKWebview iOS8 以后,苹果推出了新框架 Webkit,提供了替换 UIWebView 的组件 WKWebView。 各种 UIWebView 的问题没有了,速度更快了,占用内存少了,一句话,WKWebView 是 App 内部加载网页的最佳选择! # WebKit 源码分析 由于 WKWebview 是基于 webkit 内核来做的,所以我们在使用的时候需要导入一个这样的东西。 WKWebViewConfiguration * config = [[WKWebViewConfiguration alloc] init]; WKWebView * wkWebView = [[WKWebView

    1.9K30编辑于 2022-11-03
  • 来自专栏日常技术分享

    iOS WKWebview 适配iPhone X

    WeChat12f1694d964b0ab228b939d8c880ea82.png if (@available(iOS 11.0, *)) { _wkWebView.scrollView.contentInsetAdjustmentBehavior

    1.5K40发布于 2019-04-25
领券