首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈iOSWKWebView添加cookie

https://blog.csdn.net/u010105969/article/details/53942862 最近开发新功能,其中有加载网页需求,而最近又了解到了WKWebView,说是耗内存小...因为需要与网页进行交互,而之前使用UIWebView发现与网页交互并不是很好,于是这次决定使用WKWebView。...在体会着使用新控件且更好控件喜悦时候,一个新问题出现了--加载网页,后台无法及时获取cookie。后台无法及时获取cookie,在加载网页时候就无法加载到正确数据。...(需要多加载几次网页,才能加载到正确数据) 在查阅相关资料后,发现在使用WKWebView时候需要我们手动添加cookie到网页。...在使用WKWebView时候手动添加cookie: NSMutableDictionary *cookieDic = [NSMutableDictionary dictionary]; NSMutableString

2.1K10

iOS开发WKWebView与JS交互

/u010105969/article/details/53189934),可当时用来展示网页控件是UIWebView,而在iOS8之后苹果推出了WKWebView,此控件也能用来显示网页,可与JS交互却与...在点击前三个按钮时候会调用方法: // 警告框 - (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString...如果点击第四个conform按钮会调用方法: // 确认框 - (void)webView:(WKWebView *)webView runJavaScriptConfirmPanelWithMessage...注意:在利用UIWebView展示网页时候我们如果要想与JS进行交互那么我们就得获取JS代码方法名,而我们在使用WKWebView时候就不用了。...首先需要增加html代码,如在“111111”按钮点击事件增加代码:  window.webkit.messageHandlers.AppModel.postMessage({body: 'call

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

浅谈iOSWKWebView和UIWebView清除缓存问题

https://blog.csdn.net/u010105969/article/details/53943101 最近产品经理在验收项目,在验收过程中发现了一个问题:网页数据存在缓存。...先说说UIWebView缓存清除,代码只有一句:  [[NSURLCachesharedURLCache]removeAllCachedResponses]; 再说WKWebView缓存清除...WKWebsiteDataStoredefaultDataStore]removeDataOfTypes:websiteDataTypesmodifiedSince:dateFromcompletionHandler:^{     }]; 其中types数组内容是可以选择一些类型...注意:只有在iOS9之后WKWebView才有清除缓存方法,在写代码时候切记对系统版本进行判断。    ...增加内容: 在iOS8上还会导致崩溃代码: /* 导致iOS8奔溃代码      */ self.webView.allowsBackForwardNavigationGestures

5.2K10

iOS iOS与html进行交互

然后点击下一页按钮 通过js响应显示另一个网页          最后通过下一页按钮可以返回到首页。     本文仅仅是h5跟ios 交互入门 所以没有做细致描述。...首先先说一下思路:我项目中是那样:首先h5从后台拿到数据,然后我请求h5界面,然后通过h5按钮进行选择,通过ios控制按钮到那个界面。 这个小demo不涉及数据传输,只是界面的交互。...我这边采用方式是:通知传值方式 思路: 在webviewVC界面初始化时候就要把通知加上 然后 登录成功之后  发送通知 将值传给h5 //添加一个通知 等着需要传值给html时候就用这个通知...但是ios8之后  苹果推出了 wkWebview 比uiwebview 占用内存更小,运行速度更快,现在献上  wkwebview使用方法,供大家参考。...最近发现了wkwebview  这个是ios8之后出来,就在#import 这个类里边就包含了这个wkwebview这个类,wkwebview继承于uiview 特点

2.3K100

H5和移动端通信

iOS8+)Bridge第三方框架(适用于UIWebView和WKWebView)1. url拦截url拦截是在H5请求一个地址后,客户端拦截住这个地址,对地址进行解析处理H5调用iOS方法代码:弹出登录弹窗(拦截url)iOS拦截到url代码:- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest...弹窗拦截弹窗包括:alert、confirm、prompt, 和url拦截类似都在回调方法处理以WKWebViewalert为例:- (void)webView:(WKWebView *)webView...WKScriptMessageHandlerWKScriptMessageHandler是一个协议,iOS按照协议实现回调方法,在回调方法可以拿到js发送消息window.webkit.messageHandlers...拦截url和iOS中使用类似H5调用iOS方法代码:弹出登录弹窗(拦截url)Android拦截到url代码:webView.setWebViewClient

1.2K30

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

一、前言 近日,有朋友问我关于WKWebView与JS交互问题,可我之前一直使用是UIWebView,也不曾做过WKWebView交互啊!...} 3、在js中点击按钮,进行弹窗实现 //MARK:WKUIDelegate //此方法作为jsalert方法接口实现,默认弹出窗口应该只有提示消息,及一个确认按钮,当然可以添加更多按钮以及其他内容...,但是并不会起到什么作用 //点击确认按钮相应事件,需要执行completionHandler,这样js才能继续执行 参数 message为 js 方法 alert() <message...接口实现,默认需要有一个输入框一个按钮,点击确认按钮回传输入值 //当然可以添加多个按钮以及多个输入框,不过completionHandler只有一个参数,如果有多个输入框,需要将多个输入框值通过某种方式拼接成一个字符串回传...let js = "document.getElementsByTagName('h2')[0].innerText = '这是一个iOS写入方法'"; //将js注入到网页 6、js获取DOM节点几种方式

5.5K00

网易严选wkwebview测试之路

不过苹果在iOS8以后推出了WKWebView来加载Web。UIWebView自iOS2就有,WKWebViewiOS8才有,毫无疑问WKWebView是将会逐步取代笨重UIWebView。...,作为一名客户端测试人员,我更加关注主要是wkwebview各大特性背后带来测试点,以下就从测试视角分析一下替换wkwebview之后,测试遇到比较多问题:   1、首先就是cookie问题...  以前UIWebView会自动去NSHTTPCookieStorage读取cookie,但是WKWebView并不会去读取,因此导致cookie丢失以及一系列问题,在测试过程我们发现在一个活动页面触发了登录之后...,返回该页面并没有同步到登录信息 ?   ...从上图可以看出,在app进行登录后,福利社webview并没有同步获取相应登录态,究其原因,主要原因是:WKWebView Cookie 问题在于 WKWebView 发起请求不会自动带上存储于

1.7K10

微信iOS客户端升级内核对自定义分享影响

后来看到《微信iOS客户端将升级为WKWebview内核,请尽快适配》信息,怀疑是升级带来问题,按 https://mp.weixin.qq.com/advanced/wiki?...t=t=resource/res_main&id=mp1483682025_enmey iOS WKWebview 网页开发适配指南 切换方法 iOS微信6.5.3版本开始支持开发者手动切换WKWebview...手动切换入口: 在微信会话列表页点击右上角“加号按钮”,选择菜单”添加朋友”,在添加朋友界面的搜索框输入字符串:“:switchweb”,再点击键盘右下角搜索按钮。...切换成功后会提示当前使用内核是UIWebview或是WKWebview。 切换到WKWebview后自定义分享失效了。...三:有使用JSSDK,并且使用了wx.config进行权限授权需关注jsapi调用失败问题 变化:WKWebview内部实现变更使我们对微信内页面jsapi权限管理做了一定逻辑上调整,有极小可能会发生以前授权正常

76220

Hybrid App 应用 开发 9 个必备知识点复习(WebView 调试 等)

不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX ,它取代了 UIWebView 和 WebView ,在两个平台上支持同一套 API。...js 交互; 注意: 大多数App需要支持 iOS7 以上版本,而 WKWebView 只在 iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView ,iOS8 后用...但是目前 IOS10 以下系统以及很少了, 小结: WKWebView 相较于 UIWebView 在整体上有较大提升,满足 iOS 上面使用同一套控件功能,同时对整个内存开销以及滚动刷新率和...实践发现 WKWebView 实例其实也会将 Cookie 存储于 NSHTTPCookieStorage ,但存储时机有延迟,在 iOS 8上,当页面跳转时候,当前页面的 Cookie 会写入 NSHTTPCookieStorage...APP 包支持调试,如果不能调试,需要让 iOS 开发人员重签名 APP(可能需要将我们 iOS 设备 ID 写入到可信任设备列表,然后使用 iTunes 安装客户端提供测试包即可)。

3.1K00

iOS监听H5页面goBack返回事件 & 网页监听APP返回键 (NavigationBackItemInjection)

截取当前显示在屏幕WKWebView UINavigationBarDelegate NavigationType Disable all the '_blank' target in page's...target 在WKWebViewWKNavigationDelegate代理方法处理应用跳转 简单处理WKWebView加载新页面 WKWebView显示JS弹框 WKWebView调用js方法...解决方案: 1、iOS监听H5页面goBack返回事件 2、直接使用Safari打开URL 相关文章: iOS 封装WebView 控制器https://kunnan.blog.csdn.net/article.../details/114832679 I 、 iOS监听H5页面goBack返回事件 方式一:通过与JS桥接,让h5主动通知你 如果是采用通过与JS桥接,让h5主动通知你方案,请看这两篇文章 1...back-forward列表内容,相当于回到关闭之前看过详情界面。

5.6K21

【Hybrid】288- Hybrid App 应用开发 9 个必备知识点复习

不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX ,它取代了 UIWebView 和 WebView ,在两个平台上支持同一套 API。...: 大多数App需要支持 iOS7 以上版本,而 WKWebView 只在 iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8 后用 WKWebView...但是目前 IOS10 以下系统以及很少了, 小结: WKWebView 相较于 UIWebView 在整体上有较大提升,满足 iOS 上面使用同一套控件功能,同时对整个内存开销以及滚动刷新率和...实践发现 WKWebView 实例其实也会将 Cookie 存储于 NSHTTPCookieStorage ,但存储时机有延迟,在 iOS8上,当页面跳转时候,当前页面的 Cookie 会写入 NSHTTPCookieStorage...浏览器 来调试,但是要注意两点: 如果调试是 APP WebView 页面,则需要这个 APP 包支持调试,如果不能调试,需要让 iOS 开发人员重签名 APP(可能需要将我们 iOS 设备

2.3K20

Hybrid App 应用开发 9 个必备知识点复习

不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX ,它取代了 UIWebView 和 WebView ,在两个平台上支持同一套 API。...js 交互; 注意: 大多数App需要支持 iOS7 以上版本,而 WKWebView 只在 iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8...但是目前 IOS10 以下系统以及很少了, 小结: WKWebView 相较于 UIWebView 在整体上有较大提升,满足 iOS 上面使用同一套控件功能,同时对整个内存开销以及滚动刷新率和...实践发现 WKWebView 实例其实也会将 Cookie 存储于 NSHTTPCookieStorage ,但存储时机有延迟,在 iOS8上,当页面跳转时候,当前页面的 Cookie 会写入 NSHTTPCookieStorage...浏览器 来调试,但是要注意两点: 如果调试是 APP WebView 页面,则需要这个 APP 包支持调试,如果不能调试,需要让 iOS 开发人员重签名 APP(可能需要将我们 iOS 设备

2.6K20

Hybrid App 应用开发 9 个必备知识点复习

不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX ,它取代了 UIWebView 和 WebView ,在两个平台上支持同一套 API。...: 大多数App需要支持 iOS7 以上版本,而 WKWebView 只在 iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8 后用 WKWebView...但是目前 IOS10 以下系统以及很少了, 小结: WKWebView 相较于 UIWebView 在整体上有较大提升,满足 iOS 上面使用同一套控件功能,同时对整个内存开销以及滚动刷新率和...实践发现 WKWebView 实例其实也会将 Cookie 存储于 NSHTTPCookieStorage ,但存储时机有延迟,在 iOS8上,当页面跳转时候,当前页面的 Cookie 会写入 NSHTTPCookieStorage...浏览器 来调试,但是要注意两点: 如果调试是 APP WebView 页面,则需要这个 APP 包支持调试,如果不能调试,需要让 iOS 开发人员重签名 APP(可能需要将我们 iOS 设备

2.3K30

iOS 下利用简单代码实现 JS 双引擎功能思路

那么,这 5 秒异步时间是 iOS 原生在异步执行耗时 5 秒 JS 任务时间。...二、思路概括 步骤一、 WKWebView 加载本地一个 H5 页面,然后,在按钮点击事件里将需要做耗时事情告诉 iOS 原生 步骤二、iOS 原生收到消息后,创建一个原生下 JSContext...步骤四、执行完 JS 文件下对应 function 后进行返回 iOS 主线程,用 WkWebview 对象执行 H5 页面里一个固定回调方法,将数据结果返回至前端页面。...doNework:模拟耗时操作 sleep:休眠固定时常(这里写是5秒) 3、iOS 原生部分 WKWebView 初始化方式省略,这里需要注意WKWebView 代理循环引用问题,可以创建一个中间件避免循环引用...WKWebView 代理方法 对比一下 H5 文件下 loadAction 方法, 1、对应 WKWebView 代理方法里 name 标识 2、对应 WKWebView 代理方法里 body

2.6K00

一个 Hybrid SDK 设计与实现

◆ Hybrid 一个现状 可能早期都是 PC 端网页开发,随着移动互联网发展,iOS、Android 智能手机普及,非常多业务和场景都从 PC 端转移到移动端。...iOS调试技巧 Android 调试技巧: App 开启 Webview 调试(WebView.setWebContentsDebuggingEnabled(true); ) chrome 浏览器输入...主流容器都是这么做,比如微信、手机百度、携程 没有 Header 一旦出现网络错误或者白屏,App 将陷入假死状态 PS:Native 打开 H5,如果 300ms 没有响应则需要 loading 组件...◆ 账号系统设计 Webview 网页,账号登录与否由是否携带密钥 cookie 决定(不能保证密钥有效性)。...WKWebView 网络请求拦截 方法一(Native 侧): 原生 WKWebView 在独立于 app 进程之外进程执行网络请求,请求数据不经过主进程,因此在 WKWebView 上直接使用 NSURLProtocol

1.1K10
领券