页面禁用长按事件 方式一 禁用长按选择 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...completionHandler: @escaping (Bool) -> Void) { // JS端调用confirm函数时,会触发此方法 // 通过message可以拿到JS端所传的数据 // 在iOS...{ //页面开始加载,可在这里给用户loading提示 self.showNoticeWait(text: "加载中..."); } func webView(_ webView: WKWebView
前言 在iOS8中,苹果推出了WKWebView。WKWebView有一个突出特点,就是内存占用少。 但作为一个全新的WebView,API相比于之前的UIWebView肯定会有所不同。...WKWebView的设置 WKWebView的主要设置项都在configuration成员中(比如是否允许浏览器手指缩放,h5的浏览器能否自动播放等)这些都属于浏览器本身的设置项。...[self.webview.configuration allowsPictureInPictureMediaPlayback]; // 网页中的多媒体是否需要手势才能开始播放(iOS 10)...WKNavigationDelegate 如命名,这个是WKWebView的导航的代理。它控制了WKWebView在加载一个页面流程中的各个关键时间节点的。...相当于WKWebView加载的生命周期方法。
如果我们加载一个Web页面时,想一开始唤起键盘,除了web端需要设置input 的focus状态外,我们还需要将keyboardDisplayRequiresUserAction设置为false 问题 然而,WKWebView...allowDisplayingKeyboardWithoutUserAction { Class class = NSClassFromString(@"WKContentView"); NSOperatingSystemVersion iOS...NSOperatingSystemVersion){11, 3, 0}; if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion: iOS...-> Void extension WKWebView{ var keyboardDisplayRequiresUserAction: Bool?...} 原文地址 https://stackoverflow.com/questions/32449870/programmatically-focus-on-a-form-in-a-webview-wkwebview
一、初始化 1.initWithFrame:configuration self.wkWebView = [[WKWebView alloc] initWithFrame:frame configuration...:[self _defaultConfiguration]]; 2.WKWebViewConfiguration类说明 wkwebview初始化时的参数配置 websiteDataStore wkwebview...+)/mediaPlaybackRequiresUserAction(iOS10-) 是否自动播放视频 if (@available(iOS 10.0, *)) { config.mediaTypesRequiringUserActionForPlayback...为了兼容iOS8的js通信,也可以在这里拦截url做bridge分发 - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction...[self handleJSBridgeGetJsonStringForJsNotId:jsNotId]; // }else if ([urlStr hasPrefix:@"ios
WKWebView+UITableView混排 做内容展示页的时候,经常会用到WKWebView+UITableView的混排功能,现在此做一个总结,该功能的实现我采用了四种方法。...的使用、WKWebView+UITableView混排、UIScrollView实现原理、WKWebView离线缓存功能 等更多内容都在 https://github.com/wsl2ls/iOS_Tips...iOS_Tips集合简介: 1、暗黑模式 2、AppleID登录应用 3、AVFoundation 高仿微信相机拍摄和编辑 4、AVFoundation 人脸检测 5、AVFoundation...7、VideoToolBox和AudioToolBox音视频编解码 8、OpenGL ES学习 9、LeetCode算法练习 10、键盘和UIMenuController的并存问题 11、iOS...Crash防护 12、WKWebView相关
使用WKWebView加载百度页面占用内存(28M) 注意:可以说加载一个网页对内存是没有什么太大影响的,由此看出,单纯加载网页,WKWebView 比 UIWebView 内存强了太多 02-使用...WKWebView加载百度页面占用内存.png 3....基本用法 引入头文件 #import 在viewDidLoad中写好创建 WKWebView 和loadData的方法
WeChat12f1694d964b0ab228b939d8c880ea82.png if (@available(iOS 11.0, *)) { _wkWebView.scrollView.contentInsetAdjustmentBehavior
问题 在iOS 11以下系统,WKWebView出现 An instance of class WKWebView was deallocated while key value observers were...以上崩溃问题,经发现是没有removeObserver或者delegate没有设置为nil产生 解决方法 在dealloc中: - (void)dealloc{ //防止iOS11以下奔溃
② UIWebView 和 WKWebView 的区别 WKWebView 更快(占用内存可能只有 UIWebView 的1/3~1/4),没有缓存,更为细致地拆分了 UIWebViewDelegate...③为什么现在是时候从 UIWebView 迁移到 WKWebView 了: 截止到我写这篇文章的时候,据 mixpanel 的数据,iOS 9 占有率已达 58.55%,iOS 8 占有率达到了 34.78%...,iOS 7 及更早版本是 6.66%,而那 6.66% 应该大部分都是对手机使用极度不频繁的人。...所以从现在开始,再开发 App 只兼容 iOS 8 和 iOS 9 两个版本就可以了(如果你的产品对覆盖率要求不是很苛刻的话)。...WKWebView 是 iOS 8 之后才有的 WebKit 中的内容,所以之前我们要同时兼容 iOS 7 和 iOS 8 的时候,可以推辞说 UIWebView 和 WKWebView 一起做太麻烦了
这个问题首先你要明白,WKWebView有自己的进程,使用自己的存储空间来存储cookie和cache,WKWebView会忽视NSURLCache、NSHTTPCookieStorage、NSCredentialStorage...同时WKWebView发起的资源请求也是不经过NSURLProtocol的,导致无法自定义请求。...让WKWebview支持NSURLProtocol可参考:NSURLProtocol对WKWebView的处理 所以这里应该很清楚,NSHTTPCookieStorage已经用不到了,但是你可以把他作为存储...使用方法如下图: 第三种:通过WKHTTPCookieStore注入cookie,但是只针对iOS11之后 使用起来就比较方便了。...最后,推荐几种靠谱的传值方式: 这都是避免出现Android和iOS出现两种不同的传值方式,测试效果上看性能无优劣,只是一种传值方式而已!!!,且看使用起来是否顺手。
正文 基础使用 ---- 构建和配置 WKWebView是继承自UIView的,因此构建方式还是很老套的,通常 - (instancetype)initWithFrame:(CGRect)frame...基本代理相关 常用的有: //开始加载 -(void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *...)navigation //加载完成 -(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation...//页面跳转失败 - (void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError...重点:JS交互 ---- WKWebView的交互方法和之前的UIWebView其实本质上没有什么太大的差别,都是通过发送方法名找到对应的方法执行对应的操作。
还是先介绍一下本地化的一般流程: (1)伪本地化伪本地化是将字符串本地化为无意义语言的过程。...然后将需要翻译的文本发给翻译人员或者是本地化服务提供商去翻译即可了。 (3)本地化将资源发给本地化服务提供商之后,他们会发回翻译完毕的文件。依据翻译的文本进行本地化工作。...(6b)本地化变更假设你做了一些本地化变更,比方改变了已本地化的文本,那么就须要从头開始这个过程。并将这些变更发给本地化人员。能够重用之前的字符串翻译,这么做会大大提高效率,但仍然非常麻烦。...2、IOS应用国际化教程(2014版),这个比較新,并且是使用 storyboard 的。...3、RAYWENDERLICH 上的 Internationalization Tutorial for iOS [2014 Edition] 这上面的文章都非常不错,非常值得一读,强烈推荐。
WKWebView 适用于iOS8之后的系统 引用 #import 1.OC调用JS NSString *jsmethod = [NSString stringWithFormat...:@"mymethd(\"%@\")",data]; //data(NSDate)为要传给js的数据 [self.wkWebView evaluateJavaScript:jsmethod...[webviewConfig.userContentController addScriptMessageHandler:self name:@"share"]; WKWebView...*webView = [[WKWebView alloc ] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height...window.webkit.messageHandlers.share.postMessage(message); (5)释放js交互,在页面推出的时候,调用 WKUserContentController *controller = self.wkWebView.configuration.userContentController
https://blog.csdn.net/u010105969/article/details/53942862 最近开发新功能,其中有加载网页的需求,而最近又了解到了WKWebView,说是耗内存小...因为需要与网页进行交互,而之前使用UIWebView发现与网页的交互并不是很好,于是这次决定使用WKWebView。...(需要多加载几次网页,才能加载到正确的数据) 在查阅相关资料后,发现在使用WKWebView的时候需要我们手动添加cookie到网页中。...在使用WKWebView的时候手动添加cookie: NSMutableDictionary *cookieDic = [NSMutableDictionary dictionary]; NSMutableString
一、WKWebView的使用: 1、初始化 webView初始化:WKPreferences, WKUserContentController -> WKWebViewConfiguration ->... WKWebView 这里添加了三个代理,代理方法会在下面实现。...preferences.javaScriptEnabled = true preferences.javaScriptCanOpenWindowsAutomatically = true // default value is NO in iOS...-> Void) { print("需验证服务器证书: didReceive challenge") } // MARK: - web内容进程被终止时调用(iOS 9.0之后) func...与iOS交互 点击alert APP弹框 <button
前言 由于目前UIWebView 已经被抛弃了,因此推荐使用WKWebView的WKScriptMessageHandler实现iOS与JS交互 WKWebView是Apple在iOS8推出的Webkit...执行JS 通过WKWebView的-evaluateJavaScript:completionHandler:方法来实现 WKWebView的-evaluateJavaScript:completionHandler...但只有在整个webView加载完成之后调用此方法才会有响应 2.1 执行JS iOS使用WKWebView的-evaluateJavaScript:completionHandler:方法执行拼接好的JS...端使用 WKWebView 进行渲染的,WKWebView 在内部采用的是分层的方式进行渲染,它会将 WebKit 内核生成的 Compositing Layer(合成层)渲染成 iOS 上的一个 WKCompositingView...WKWebView 这么做是为了可以让 iOS 上的 WebView 滚动有更流畅的体验。
iOS 9.0以上直接设置WKNavigationDelegate代理 func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge
## 背景Xcode 升级到 14.3后,模拟器是iOS 16.4 的,想通过Safari -> Developer -> Web Inspector查看,结果发现查看不了<!...搜索后发现,从 iOS16.4 之后,如果想要通过Web Inspector查看,需要设置如下代码: if #available(iOS 16.4, \*) { webView.isInspectable...## 参考Mark the webview as inspectable in iOS 16.4
3.1 APP 内的本地化切换 iOS APP 内的本地化切换【修订】 3.2 一个语言对应多个字符串资源文件的方案 3.3 iOS本地化字符串指定参数顺序(应用:app内的多语言切换) iOS...如果找到了相应的文件夹,就会载入这个文件夹中的资源 I、nib& info.plist 本地化 本地化前的准备 先创建本地化文件夹(zh-Hans.lproj),让应用程序支持对应的语言环境,并选择选择当前需要本地化的资源...应用场景: iOS APP 内的国际化切换 (对话框中的文字)、 应用名称本地化 3.1 APP 内的本地化切换 【iOS APP 内的国际化切换】1、字符串的本地化、2、自定义解析本地化字符串的工具类...3.3 iOS本地化字符串指定参数顺序(应用:app内的多语言切换) 从CSDN下载【iOS APP 内的国际化切换】demo源码:https://download.csdn.net/download...2、应用内切换语言生效的技术实现:采用销毁根控制器,重新进入一次 3、本地化字符串指定参数顺序 ———————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC
] } } 文件为json保存为文本即可 你的域名必须支持Https 域名根目录下放这个文件apple-app-association,不带任何后缀 第一章节先来看看如何防止在WKWebView...中打开Universal Link,如果你对如何获取Universal Link感兴趣可看第二章节iOS 创建 Universal Links I 、防止在WKWebView中打开Universal Link...demo下载地址:https://download.csdn.net/download/u011018979/21361507 1.1 防止在WKWebView中打开Universal Link的原理...: 防止在WKWebView中打开Universal Link的原理:在WKNavigationDelegate的协议方法- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction...use WKNavigationActionPolicyAllow + 2 instead of WKNavigationActionPolicyAllow */ - (void)webView:(WKWebView
领取专属 10元无门槛券
手把手带您无忧上云