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

在iOS WKWebview的iFrame内部被阻止的第三方cookies

在iOS WKWebView的iFrame内部被阻止的第三方cookies是指在iOS系统中使用WKWebView组件加载网页时,如果网页中包含嵌套的iframe元素,并且这些iframe元素加载的内容来自不同的域名,那么默认情况下,这些iframe内部的第三方cookies会被阻止。

这种行为是出于安全考虑,以防止恶意网站通过iframe获取用户的敏感信息或进行跨站点请求伪造攻击。当iOS WKWebView加载一个包含iframe的网页时,如果iframe的源域与主页面的源域不一致,那么该iframe内部的第三方cookies将被阻止,即无法在该iframe内部访问或设置cookies。

这种限制可以提高用户的隐私和安全保护,但也可能导致某些网页功能无法正常运行,特别是依赖于第三方cookies的功能。为了解决这个问题,可以采取以下几种方法:

  1. 使用Safari View Controller:可以通过使用Safari View Controller来加载网页,而不是使用WKWebView。Safari View Controller在加载网页时会共享主应用程序的cookies,因此可以避免第三方cookies被阻止的问题。不过,这种方法可能会导致用户离开应用程序的体验。
  2. 与主页面同源的iframe:如果iframe的源域与主页面的源域一致,那么该iframe内部的第三方cookies不会被阻止。因此,可以尝试将iframe的源域与主页面的源域保持一致,以确保第三方cookies的正常使用。
  3. 与主页面共享cookies:可以通过在请求头中设置Cookie字段,将主页面的cookies传递给iframe内部的请求,以实现与主页面共享cookies的效果。具体实现方式可以参考相关的网络请求库或框架的文档。

总结起来,iOS WKWebView在加载网页时会默认阻止iframe内部的第三方cookies,这是为了保护用户的隐私和安全。为了解决这个问题,可以使用Safari View Controller加载网页、保持iframe与主页面同源,或者通过传递cookies实现与主页面共享cookies的效果。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动应用分析(MTA):腾讯云移动应用分析(Mobile App Analytics,MTA)是一款专业的移动应用数据分析产品,可帮助开发者深入了解用户行为、应用性能等关键指标,优化产品体验和运营策略。
  • 腾讯云内容分发网络(CDN):腾讯云内容分发网络(Content Delivery Network,CDN)是一种分布式部署的加速网络,通过将内容缓存到离用户最近的节点,提供快速、稳定的内容分发服务,提升网站的访问速度和用户体验。
  • 腾讯云云服务器(CVM):腾讯云云服务器(Cloud Virtual Machine,CVM)是一种弹性、可扩展的云计算基础设施,提供高性能的计算资源,适用于各种应用场景,如网站托管、应用程序部署等。
  • 腾讯云对象存储(COS):腾讯云对象存储(Cloud Object Storage,COS)是一种安全、高可靠、低成本的云存储服务,适用于存储和处理各种类型的数据,如图片、音视频文件等。
  • 腾讯云人工智能(AI):腾讯云人工智能(Artificial Intelligence,AI)提供了丰富的人工智能服务和解决方案,包括图像识别、语音识别、自然语言处理等,帮助开发者构建智能化的应用和系统。
  • 腾讯云区块链(BCS):腾讯云区块链(Blockchain as a Service,BCS)是一种基于区块链技术的云服务,提供了简单易用的区块链网络搭建和管理工具,帮助用户快速构建和部署区块链应用。
  • 腾讯云游戏多媒体引擎(GME):腾讯云游戏多媒体引擎(Game Multimedia Engine,GME)是一种专业的游戏音视频通信解决方案,提供高质量、低延迟的语音通话和实时音视频互动功能,适用于游戏、社交等应用场景。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解决WordPress登录出现”Cookies阻止或者您浏览器不支持”

今天早上捣鼓网站,登陆WordPress后台,确定密码也都是没有问题。错误提示"Cookies阻止或者您浏览器不支持。要使用WordPress,您必须启用cookies"。...这个问题陌涛也是第一次遇到,于是先登录同事电脑中其他浏览器,同样也是这样问题。看来浏览器COOKIES问题可以解除,不可能2个浏览器都这样。...那就通过万能搜索引擎来解决,因为最后是解决了问题,但是最终不能判断是用哪个方法解决,所以把所有的方法都记录下来。...第一、设置浏览器安全性 我们可以调低浏览器安全级别,设置成默认级别,这里我还清理了同事浏览器缓存。重启电脑。...最终问题是解决了,具体我也不清楚哪个方法解决,就做个记录。

3.4K30

iOS小技能:UIWebView 解决方案(用更安全WKWebView替代UIWebView)

引言 背景:202012之后苹果将不接受使用UIWebView UIWebView 解决方案:使用WKWebView替代UIWebView 1、查 SDK是否用 UIWebView API...2、移除/升级含UIWebView第三方SDK(例:AFNetworking) 3、使用WKWebView替代UIWebView 4、WKWebView与JS交互案例(点击页面图片,调用iOS方法进行图片放大显示...、NSURLSession 和 UIWebView 中请求; 对于 WKWebView 中发出网络请求也无能为力,如果真的要拦截来自 WKWebView请求,还是需要实现 WKWebView...I 使用WKWebView替换UIWebView 1.1 移除/升级包含UIWebView第三方SDK(grep -r "UIWebView" .) ➜ retail git:(develop)...formdata请求形式4.0都有了调整,因此需要更改工程中相应方法 例如 修改为: [manager GET:urlStr parameters:params headers

3.1K20

H5如何与原生App通信?

幸运是,苹果发布iOS8时候,新增了一个WKWebView组件容器,如果你APP只考虑支持iOS8及以上版本,那么你就可以使用这个新浏览器控件了。...WKWebView重构了原有UIWebView14个类,3个协议,性能提升同时,赋予了开发者更加细致配置(这些配置仅针对客户端IOS开发,对于前端H5来说,保持两种容器调用方法一致性很重要)。...从IOS12开始,苹果正式弃用UIWebView,统一采用WKWebView。...params=' + encodeURIComponent(obj)然后带上你要传递给ios参数;然后客户端内拦截到指定协议头请求之后就阻止该请求并解析url上参数,执行相应逻辑 H5中发起这种特定协议请求方式分两种...这种js调用方式与ios一样,使用iframe来调用native方法。 通过webview页面里直接注入原生js代码方式,使用addJavascriptInterface方法来实现。

5.9K20

使用IdentityServer出现过SameSite Cookie这个问题吗?

IdP 网站在 iframe 中加载,如果浏览器沿 IdP 发送会话 cookie,则识别用户并发出新令牌。 现在 iframe 存在于托管应用程序域中 SPA 中,其内容来自 IdP 域。...如果 cookie 明确指出 SameSite=None,Chrome 80 只会将该 cookie 从 iframe 发送到 IdP,这认为是跨站点请求。...如果也是这种情况,它会将 cookies SameSite 值设置为unspecified(未指定),这反过来将完全阻止设置 SameSite,从而为这些浏览器重新创建当前默认行为。...This includes: // - Safari on iOS 12 for iPhone, iPod Touch, iPad // - WkWebview...除了彻底测试,特别是 Chrome 79 中激活了“默认 cookie SameSite”标志以及 macOS 和 iOS 上受影响 Safari 版本,是的,你现在应该没事了。

1.5K30

iOS下JS与OC互相调用(五)--UIWebView + WebViewJavascriptBridge

而最新版WebViewJavascriptBridge因为也要兼容WKWebView,所以里面也加入了两个新类,一开始看时候,会被它里面复杂逻辑吓到,其实仔细阅读后,它还是非常简单。...WebViewJavascriptBridge使用讲解 由于WebViewJavascriptBridgeUIWebView和WKWebView使用有些许差别,所以就分成两篇文章来讲解WebViewJavascriptBridge...本文介绍UIWebView中使用WebViewJavascriptBridge来达到JS与OC互相调用目的。WKWebView使用是WKWebViewJavascriptBridge。...目前我Demo中WebViewJavascriptBridge库最新iOS系统有崩溃,各位在使用该第三方库时,要先更新到最新版本。...WebViewJavascriptBridge时候,UIWebView代理已经赋值给了WebViewJavascriptBridge。

3.4K50

记使用WKWebView修改user-agentiOS 12踩一个坑

随着摒弃了对iOS老系统支持,项目也开始逐步开始转向WKWebView,本想着新系统应该能填一些WKWebView坑,结果发现还是还是坑不断,这次iOS12又遇到一个神坑。...iOS 10/11上面,这段代码执行都好好,并且也没什么问题。结果现在在iOS 12beta版本里面突然不生效了,自己追加userAgent没有添加成功。...为了验证下,我WKWebViewdelegate方法webView: didFinishNavigation:里打印customUserAgent和通过js方法获取userAgent,结果发现两者真的是不一样...iOS 12是不生效,猜测原因应该是一旦实例化一个WKWebView并且调用了evaluateJavaScript: 更新其userAgent不生效。...webview.customUserAgent = agent + " customAgent" } } 总结:WKWebView虽然性能比UIWebView更好,但是一些细节处理上,还是需要注意

9.7K50

iOS下JS与原生OC互相调用(总结)

3.JS用打开一个iFrame方式替代直接用document.location方式,以避免多次请求,替换覆盖问题。...关于这种方式调用OC方法,唐巧早期有篇文章有过介绍: 关于UIWebView和PhoneGap总结 方式二 iOS 7之后,apple添加了一个新库JavaScriptCore,用来做JS交互,...系统做了改动,现在(iOS9,Xcode 7.3,去年使用Xcode 6 和iOS 8没有线程问题)中测试,block中是子线程,因此执行UI操作,控制台有警告,需要回到主线程再操作UI。...iOS下JS与OC互相调用(一)--UIWebView 拦截URL iOS下JS与OC互相调用(二)--WKWebView 拦截URL iOS下JS与OC互相调用(三)--MessageHandler...(六)--WKWebView + WebViewJavascriptBridge iOS下JS与OC互相调用(七)--Cordova 基础 iOS下JS与OC互相调用(八)--Cordova详解+实战

5K30

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

不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX 中,它取代了 UIWebView 和 WebView ,两个平台上支持同一套 API。...无法发送 POST 参数问题; WKWebView 可以和js直接互调函数,不像 UIWebView 需要第三方库 WebViewJavascriptBridge 来协助处理和 js 交互; 注意...: 大多数App需要支持 iOS7 以上版本,而 WKWebView iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8 后用 WKWebView...但是目前 IOS10 以下系统以及很少了, 小结: WKWebView 相较于 UIWebView 整体上有较大提升,满足 iOS 上面使用同一套控件功能,同时对整个内存开销以及滚动刷新率和...WKWebView 页面样式问题 WKWebView 适配过程中,我们发现部分 H5 页面元素位置向下偏移或拉伸变形,追踪后发现主要是 H5 页面高度值异常导致。

2.3K20

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

不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX 中,它取代了 UIWebView 和 WebView ,两个平台上支持同一套 API。...; WKWebView 无法发送 POST 参数问题; WKWebView 可以和js直接互调函数,不像 UIWebView 需要第三方库 WebViewJavascriptBridge 来协助处理和...js 交互; 注意: 大多数App需要支持 iOS7 以上版本,而 WKWebView iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView ,iOS8 后用...但是目前 IOS10 以下系统以及很少了, 小结: WKWebView 相较于 UIWebView 整体上有较大提升,满足 iOS 上面使用同一套控件功能,同时对整个内存开销以及滚动刷新率和...WKWebView 页面样式问题 WKWebView 适配过程中,我们发现部分 H5 页面元素位置向下偏移或拉伸变形,追踪后发现主要是 H5 页面高度值异常导致。

3.1K00

iframe、SameSite与CEF

iframe、SameSite与CEF 背景 本人使用CEF(或是Chrome)来加载开发前端页面,其中使用iframe嵌入了第三方页面,第三方页面中需要发送cookie到后端,然而加载会报错...原因 由于CEF(Chrome内核)安全策略,51版本以前、80版本以后,绝大多数情况下是禁止嵌入iframe提交Cookie(下文会列出哪些禁止),所以需要浏览器配置策略来允许iframe提交...SameSite 属性可以让 Cookie 跨站请求时不会被发送,从而可以阻止跨站请求伪造攻击(CSRF)。 SameSite 可以有下面三种值: Strict(严格)。...仅允许一方请求携带 Cookie,即浏览器将只发送相同站点请求 Cookie,即当前网页 URL 与请求目标 URL 完全一致。 Lax(松懈)。允许部分第三方请求携带 Cookie。...SameSite by default cookiesCookies without SameSite must be secure 将上面两项设置为 Disable CEF 上面的方法很通用,不过

45330

JSB 原理与实践

由于历史原因,安卓和 iOS 均有高低两套版本 WebView 内核: 平台和版本 WebView 内核 iOS 8+ WKWebView iOS 2-8 UIWebView Android 4.4+...无法执行回调 高版本 WKWebView.evaluateJavaScript 可以拿到 JS 执行完毕返回值 实践 下面我们通过一个小 Demo 来看一下 iOS 端实现 Native 向 Web...端发消息实际效果: (本文所有 Demo 均运行在 iOS14.5 模拟器中,WebView 容器采用 WKWebView 内核) ?...可以看到当我们文本框中输入下列字符并点击按钮后,h5 页面中 id 为 test p 标签内容修改了。...,曾经是最主流 JSB 实现方案,但目前高版本系统中已经逐渐淘汰,理由是它有如下几个劣势: 连续发送时可能会造成消息丢失(可以使用消息队列解决该问题) URL 字符串长度有限制 性能一般,URL

1.3K30

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

不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX 中,它取代了 UIWebView 和 WebView ,两个平台上支持同一套 API。...无法发送 POST 参数问题; WKWebView 可以和js直接互调函数,不像 UIWebView 需要第三方库 WebViewJavascriptBridge 来协助处理和 js 交互; 注意...: 大多数App需要支持 iOS7 以上版本,而 WKWebView iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8 后用 WKWebView...但是目前 IOS10 以下系统以及很少了, 小结: WKWebView 相较于 UIWebView 整体上有较大提升,满足 iOS 上面使用同一套控件功能,同时对整个内存开销以及滚动刷新率和...WKWebView 页面样式问题 WKWebView 适配过程中,我们发现部分 H5 页面元素位置向下偏移或拉伸变形,追踪后发现主要是 H5 页面高度值异常导致。

2.3K30

JSB 原理与实践

由于历史原因,安卓和 iOS 均有高低两套版本 WebView 内核: 平台和版本 WebView 内核 iOS 8+ WKWebView iOS 2-8 UIWebView Android 4.4+...无法执行回调 高版本 WKWebView.evaluateJavaScript 可以拿到 JS 执行完毕返回值 实践 下面我们通过一个小 Demo 来看一下 iOS 端实现 Native 向 Web...端发消息实际效果: (本文所有 Demo 均运行在 iOS14.5 模拟器中,WebView 容器采用 WKWebView 内核) 页面上半部分 UI 是由 HTML + CSS 渲染所得,是一个纯静态...可以看到当我们文本框中输入下列字符并点击按钮后,h5 页面中 id 为 test p 标签内容修改了。...,曾经是最主流 JSB 实现方案,但目前高版本系统中已经逐渐淘汰,理由是它有如下几个劣势: 连续发送时可能会造成消息丢失(可以使用消息队列解决该问题) URL 字符串长度有限制 性能一般,URL

1.4K10

JSB 原理与实践

由于历史原因,安卓和 iOS 均有高低两套版本 WebView 内核: 平台和版本 WebView 内核 iOS 8+ WKWebView iOS 2-8 UIWebView Android 4.4+...无法执行回调 高版本 WKWebView.evaluateJavaScript 可以拿到 JS 执行完毕返回值 实践 下面我们通过一个小 Demo 来看一下 iOS 端实现 Native 向 Web...端发消息实际效果: (本文所有 Demo 均运行在 iOS14.5 模拟器中,WebView 容器采用 WKWebView 内核) 页面上半部分 UI 是由 HTML + CSS 渲染所得,是一个纯静态...可以看到当我们文本框中输入下列字符并点击按钮后,h5 页面中 id 为 test p 标签内容修改了。...,曾经是最主流 JSB 实现方案,但目前高版本系统中已经逐渐淘汰,理由是它有如下几个劣势: 连续发送时可能会造成消息丢失(可以使用消息队列解决该问题) URL 字符串长度有限制 性能一般,URL

3.2K40

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

不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX 中,它取代了 UIWebView 和 WebView ,两个平台上支持同一套 API。...; WKWebView 无法发送 POST 参数问题; WKWebView 可以和js直接互调函数,不像 UIWebView 需要第三方库 WebViewJavascriptBridge 来协助处理和...js 交互; 注意: 大多数App需要支持 iOS7 以上版本,而 WKWebView iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8...但是目前 IOS10 以下系统以及很少了, 小结: WKWebView 相较于 UIWebView 整体上有较大提升,满足 iOS 上面使用同一套控件功能,同时对整个内存开销以及滚动刷新率和...WKWebView 页面样式问题 WKWebView 适配过程中,我们发现部分 H5 页面元素位置向下偏移或拉伸变形,追踪后发现主要是 H5 页面高度值异常导致。

2.6K20

WKWebView 那些坑

实践发现WKWebView实例其实也会将Cookie存储于NSHTTPCookieStorage中,但存储时机有延迟,iOS8上,当页面跳转时候,当前页面的Cookie会写入NSHTTPCookieStorage...不过这种方法依然解决不了页面iframe跨域请求Cookie问题,毕竟-[WKWebView loadRequest:]只适合加载mainFrame请求。...4、WKWebView loadRequest问题 WKWebView上通过loadRequest发起post请求body数据会丢失: //同样是由于多进程间通信性能问题,导致HTTPBody字段丢弃...接入now直播时候,我们发现在ios9上WKWebView会出现页面拉伸变形情况,最后发现是window.innerHeight值不准确导致(WKWebView上返回了一个非常大值),而H5...通过查阅相关资料,这个bug只ios9几个系统版本上出现,苹果后来fix了这个bug。

17.1K21
领券