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

在iOS 10和更高版本中,WKWebView不加载http URL,不呈现html页面。

在iOS 10及更高版本中,WKWebView不加载http URL,不呈现html页面的原因是出于安全考虑,苹果公司限制了WKWebView只能加载使用HTTPS协议的URL,以保护用户的隐私和数据安全。

WKWebView是iOS中的一个用于展示网页内容的组件,它具有更好的性能和功能比UIWebView。由于HTTPS协议具有加密和身份验证的功能,使用HTTPS可以确保数据在传输过程中的安全性,防止被中间人攻击和窃取。

为了解决WKWebView不加载http URL的问题,开发者可以采取以下几种方式:

  1. 使用HTTPS协议:将网站的URL改为使用HTTPS协议,确保网站的安全性。可以通过购买SSL证书并在服务器上配置来实现。
  2. ATS(App Transport Security)设置:ATS是苹果提供的一种安全机制,可以限制App只能使用HTTPS协议进行网络通信。在Info.plist文件中添加NSAppTransportSecurity字典,并设置NSAllowsArbitraryLoads为true,可以临时关闭ATS限制。但这种方式并不推荐,因为它会降低App的安全性。
  3. 使用WKURLSchemeHandler:通过自定义WKURLSchemeHandler,可以实现加载http URL的功能。具体实现方式可以参考苹果的官方文档和示例代码。
  4. 使用其他WebView组件:如果WKWebView无法满足需求,可以考虑使用其他第三方的WebView组件,如UIWebView或者其他开源的WebView组件。

总结起来,为了适应iOS 10及更高版本中WKWebView不加载http URL的限制,开发者需要将网站的URL改为使用HTTPS协议,并且可以通过ATS设置或自定义WKURLSchemeHandler来实现加载http URL的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

不过苹果在 iOS8 以后推出了 WKWebView加载 Web,并应用于 iOS OSX ,它取代了 UIWebView WebView ,两个平台上支持同一套 API。...js 的交互; 注意: 大多数App需要支持 iOS7 以上的版本,而 WKWebView iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView ,iOS8 后用...但是目前 IOS10 以下的系统以及很少了, 小结: WKWebView 相较于 UIWebView 整体上有较大的提升,满足 iOS 上面使用同一套控件的功能,同时对整个内存的开销以及滚动刷新率...于是我们找到了“为什么WebView总是很慢”的原因之一: 浏览器,我们输入地址时(甚至之前),浏览器就可以开始加载页面。...Chrome 30 或更高版本。更强大的 WebView 界面调试功能需要 Chrome31 或更高版本。 Android 应用程序的 WebView 配置为可调试模式。

3.1K00

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

不过苹果在 iOS8 以后推出了 WKWebView加载 Web,并应用于 iOS OSX ,它取代了 UIWebView WebView ,两个平台上支持同一套 API。...WKWebView 支持了更多的 HTML5 特性; WKWebView 高效的 app web 信息交换通道; WKWebView 允许 JavaScript 的 Nitro 库加载并使用, UIWebView...: 大多数App需要支持 iOS7 以上的版本,而 WKWebView iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8 后用 WKWebView...但是目前 IOS10 以下的系统以及很少了, 小结: WKWebView 相较于 UIWebView 整体上有较大的提升,满足 iOS 上面使用同一套控件的功能,同时对整个内存的开销以及滚动刷新率...Chrome 30 或更高版本。更强大的 WebView 界面调试功能需要 Chrome31 或更高版本。 Android 应用程序的 WebView 配置为可调试模式。

2.3K20

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

不过苹果在 iOS8 以后推出了 WKWebView加载 Web,并应用于 iOS OSX ,它取代了 UIWebView WebView ,两个平台上支持同一套 API。...; WKWebView 支持了更多的 HTML5 特性; WKWebView 高效的 app web 信息交换通道; WKWebView 允许 JavaScript 的 Nitro 库加载并使用,...js 的交互; 注意: 大多数App需要支持 iOS7 以上的版本,而 WKWebView iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8...但是目前 IOS10 以下的系统以及很少了, 小结: WKWebView 相较于 UIWebView 整体上有较大的提升,满足 iOS 上面使用同一套控件的功能,同时对整个内存的开销以及滚动刷新率...Chrome 30 或更高版本。更强大的 WebView 界面调试功能需要 Chrome31 或更高版本。 Android 应用程序的 WebView 配置为可调试模式。

2.6K20

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

不过苹果在 iOS8 以后推出了 WKWebView加载 Web,并应用于 iOS OSX ,它取代了 UIWebView WebView ,两个平台上支持同一套 API。...WKWebView 支持了更多的 HTML5 特性; WKWebView 高效的 app web 信息交换通道; WKWebView 允许 JavaScript 的 Nitro 库加载并使用, UIWebView...: 大多数App需要支持 iOS7 以上的版本,而 WKWebView iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8 后用 WKWebView...但是目前 IOS10 以下的系统以及很少了, 小结: WKWebView 相较于 UIWebView 整体上有较大的提升,满足 iOS 上面使用同一套控件的功能,同时对整个内存的开销以及滚动刷新率...Chrome 30 或更高版本。更强大的 WebView 界面调试功能需要 Chrome31 或更高版本。 Android 应用程序的 WebView 配置为可调试模式。

2.3K30

WKWebView 那些坑

WKWebView加载下面的测试链接可以稳定重现白屏现象:http://people.mozilla.org/~rnewman/fennec/mem.html 这个时候webView.URL会变为nil...实践发现WKWebView实例其实也会将Cookie存储于NSHTTPCookieStorage,但存储时机有延迟,iOS8上,当页面跳转的时候,当前页面的Cookie会写入NSHTTPCookieStorage...,而IOS10上,JS执行document.cookie或服务器set-cookie注入的Cookie会很快同步到NSHTTPCookieStorage,FireFox工程师曾建议通过reset WKProcessPool...,最后将加载结果返回WKWebView; 5、WKWebView 页面样式问题 WKWebView适配过程,我们发现部分H5页面元素位置向下偏移或被拉伸变形,追踪后发现主要是H5页面高度值异常导致:...通过查阅相关资料,这个bug只ios9的几个系统版本上出现,苹果后来fix了这个bug。

17K21

WKWebView 那些坑

WKWebView加载下面的测试链接可以稳定重现白屏现象: http://people.mozilla.org/~rnewman/fennec/mem.html 这个时候 WKWebView.URL...实践发现 WKWebView 实例其实也会将 Cookie 存储于 NSHTTPCookieStorage ,但存储时机有延迟,iOS 8上,当页面跳转的时候,当前页面的 Cookie 会写入 NSHTTPCookieStorage...,而在 iOS 10 上,JS 执行 document.cookie 或服务器 set-cookie 注入的 Cookie 会很快同步到 NSHTTPCookieStorage ,FireFox...request3,最后通过 NSURLProtocolClient 将加载结果返回 WKWebView; 5、WKWebView 页面样式问题 WKWebView 适配过程,我们发现部分H5页面元素位置向下偏移或被拉伸变形...通过查阅相关资料发现,这个bug只 iOS 9 的几个系统版本上出现,苹果后来fix了这个bug。

4.4K130

《移动端本地 H5 秒开方案探索与实现》

四、细节优化 解决了上面的问题,本地 H5 确实可以达到秒开的加载速度,不过要达到客户端一样的体验,还需要配上一些细节优化: 预加载 webView,预拉取数据 联调本地 H5 页面过程,发现首次加载页面时间比后续打开时间都慢很多...屏蔽webview HTML 内容自动识别 IOS webView 默认会自动检测 HTML 手机号、email、地址格式并标记。...但是使用 WKWebView 加载本地的 HTML 时也有一些兼容问题, iOS8 不能在 HTML 文件引用本地的 css 或者 js 或者图片文件,IOS8 以上的是正常的,可以引用远程资源。...为了兼顾兼容性秒开体验,所以做降级方案,通过系统版本动态加载JS, IOS8 使用网络资源,IOS8 以上使用本地资源。...还有iOS8,使用一些远程的 cdn 的 css 或者 js 文件,必须注意在引用标签上加上 charset属性,不然 css js 库将会乱码 五、最后 从前端优化,到客户端缓存,到离线包,到更多的细节优化

5.4K162

分享超详细 WKWebView 开发使用经验

WKWebView 几个不常用的特性 WKWebview 加载过程的性能指标图解 WKWebview 秒开的实践及踩坑之路 今天分享的这篇文章全面的介绍了 WKWebView,作者根据开发使用经验从属性...*initialURL; 其中 initialURL URL 的区别: initialURL 为本次网页加载的初始请求 URL 为本次网页加载结束后的最终请求 两者 URL 区别在于首次发起 302...通过 [WKWebView loadRequest:] 方法访问 index.html 的话,仅能访问当前页面所在目录下的相对路径资源,无法访问目录外的资源,例如上例,index.html 仅能访问...通过 [WKWebView loadData:] [WKWebView loadHTMLString:] 方法仅能加载当前HTML内容,无法加载资源文件,这种加载模式下,由于不需要访问其他路径下的资源...WKWebView 属性 webView 属性 title: 网页的标题,一般为 html 的内容 URL: 网页的URL地址,为最终加载的地址 loading:

4.6K30

WKWebView详解

您可以使用WKWebView类来应用程序嵌入web内容,通过创建一个WKWebView对象,将其设置为视图,并发送一个请求来加载web内容。...从iOS 8.0OS X 10.10开始,建议使WKWebView应用程序展示web内容,建议不要使用UIWebView或WebView。..., readonly) double estimatedProgress; 这个值根据预期接收的字节总数(包括主文档所有潜在的子资源)从0.0到1.0不等 页面加载完成后,估算的进度保持1.0,直到新的导航开始...; iOS上,这个属性只支持3D Touch的设备上支持 iOS 10及以后的系统版本默认值是YES,之前的默认值是NO 如果将该属性的值设置为YES,则iOS用户可以按下链接来预览链接,并可以检测到地址电话号码等数据...的HTML文档添加视频元素时,还必须包括playsinline属性 iOS 10.0之前创建的应用程序必须使用webkit-playsinline属性 iPhone的默认值为false,而iPad的默认值为

20.1K193

iOS的WebView——WKWebView

前言 iOS8,苹果推出了WKWebViewWKWebView有一个突出特点,就是内存占用少。 但作为一个全新的WebView,API相比于之前的UIWebView肯定会有所不同。...]; //这个值决定了网页内容的渲染是否把内容全部加载到内存再去处理。...[self.webview.configuration allowsPictureInPictureMediaPlayback]; // 网页的多媒体是否需要手势才能开始播放(iOS 10)...它控制了WKWebView加载一个页面流程的各个关键时间节点的。相当于WKWebView加载的生命周期方法。...此方法的本质是,js会尝试加载某个URL,客户端加载前拦截这个URL,通过解析这个URL识别它的内容,调用相应的原生方法,并阻上浏览器加载这个URL

3.2K20

小程序白屏问题内存研究

开发小程序应用,QA发现过几次页面白屏的情况,苦于难易复现调试,故想对小程序白屏问题进行一番探究。...三端的脚本执行环境以及用于渲染非原生组件的环境是各不相同的[1]: iOS 上,小程序逻辑层的 javascript 代码运行在 JavaScriptCore ,视图层是由 WKWebView 来渲染的...,环境有 iOS8、iOS9、iOS10 Android 上,旧版本,小程序逻辑层的 javascript 代码运行 X5 JSCore ,视图层是由 X5 基于 Mobile Chrome...WKWebview刚推出时,IOS8.0~8.2会偶尔出现白屏 由于滚动组件嵌套的结构,刷新的问题。 针对原因3,解决的方案是判断IOS系统版本,小于8.2的使用UIWebView。...下面总结一下平时开发过程可能会导致内存警告的操作: 使用大图片长列表图片。根据小程序团队分析过的大部分案例,大图片长列表图片的使用,都会引起WKWebview被回收[10]。

2.1K11

​# iOS WKWebView适配(基础篇)

(iOS10+)/mediaPlaybackRequiresUserAction(iOS10-) 是否自动播放视频 if (@available(iOS 10.0, *)) { config.mediaTypesRequiringUserActionForPlayback...为了兼容iOS8的js通信,也可以在这里拦截url做bridge分发 - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction...*)webView NS_AVAILABLE(10_11, 9_0); @end 三、访问页面 请求方式 1.请求在线页面 //1.创建request NSString* urlString = @"..."file:///"头部替换 4.加载源代码 直接把html文件读出来以后,以页面内容方式去读取 [self.wkWebView loadHTMLString:htmlString baseURL:nil...]; 5.离线资源包的一点思考 利用离线加载这一特性,我们可以通过服务端资源打包成本地资源包(zip包),通过服务器比对方式下载资源包,解压后放在本地指定的沙盒目录,随后通过wkwebview加载本地方式打开页面

3.6K30

前端优化 10s 到 100ms 是如何做到的?

加载渲染链路优化之道 从访问 URL页面呈现,整个链路可以做优化的思路。 ?...我们把这两个图对比一下,就可以很容易的排查出页面加载链路问题。 静态资源链路 打开页面的第一步是请求页面html,这里面涉及TTFB这个综合指标。...请求完HTML之后,就开始解析 HTML 代码,按照从上至下、自然顺序解析,解析内联 CSS代码或者加载外链CSS脚本,解析内联 Javascript 脚本,或者加载外链 Javascript 脚本。...为了让浏览器更快的解析渲染,我们需要考虑这几点: CSS 嵌套层级不要太深,超过3级,避免最内层使用通配选择器。...iOS8 以后的 iOS 支持wkwebview,但是很多 App 之前用的还是 uiwebview,建议转换成wkwebview,获得性能的提升(UIwebview执行 JS 时会阻塞 UI渲染进程

1.3K10
领券