开发者社区> tonge> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于新版IONIC3 WKWebView 出现跨域请求的问题

简介: {"_body":{"isTrusted":true},"status":200,"statusText":"Ok","headers":{},"type":3,"url":null}" 单独把这个问题拿出来写一篇文章,是因为在一些ionic开发群里...
+关注继续查看

{"_body":{"isTrusted":true},"status":200,"statusText":"Ok","headers":{},"type":3,"url":null}"

单独把这个问题拿出来写一篇文章,是因为在一些ionic开发群里看到好多朋友都在问,有的花了一天的时间都没有解决;甚至看到有人发布悬赏来解决此问题;博主可以说是最早经历这个坑的(博主当时也是花了一下午的时间呢,各种查资料)

iOS打包在模拟器中运行,在控制台会看到网络请求后的结果:

{"_body":{"isTrusted":true},"status":200,"statusText":"Ok","headers":{},"type":3,"url":null}"

这是因为IONIC3打包iOS时后使用了高性能WebView组建WKWebView,做iOS开发的同学应该都很熟悉了。

之前看到过资料,有同学测试过WKWebView占用的资源是UIWebView占用的资源的1/40左右,所以IONIC也将默认构建iOS应用的引擎改成了WKWebView。

另外官方对新版IONIC3使用WKWebView的解释

在iOS中,现在有两个网页浏览器,UIWebView和WKWebView。之前的IONIC版本使用的都是UIWebView。现在都将使用WKWebView。

我们坚信WKWebview是任何应用程序的最佳选择,因为它比旧版的webview(UIWebView)有许多改进。这些功能包括:

将JS代码JIT转换为机器代码,运行速度更快
改进的渲染性能
更少的内存消耗
更好地遵守网络标准
可靠的滚动事件(对虚拟列表很重要)

解决方案

1.在后台接口配置允许跨域请求

 这个需要后端开发工程师进行配置(java,.net,php,nodejs等网上都有相关资料)

2.强制cordova使用UIWebView引擎渲染页面
(1)在config.xml里增加以下配置

<preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />

(2)卸载WKWebView插件

$ ionic cordova plugin remove cordova cordova-plugin-ionic-webview --save
$ rm -rf platforms/
$ rm -rf plugins/
$ ionic cordova build ios

目前我了解到的有以上两种方案,如有其他解决方案,欢迎在文章下方留言分享。

参考资料:https://ionicframework.com/docs/wkwebview/

关注微信订阅号:IonicBlog,可获取最新Ionic资讯和技术博客。

img_1c5622191aff299f3a64ec22dc98308c.jpe
IonicBlogQR.jpg

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
编译x264出现错误:No working C compiler found.
编译x264出现错误:No working C compiler found.
352 0
Cloud for Customer里点了Opportunity ID的超链接到进入overview page,背后发生了什么事?
Cloud for Customer里点了Opportunity ID的超链接到进入overview page,背后发生了什么事?
23 0
Cloud for Customer里点了Opportunity ID的超链接到进入overview page,背后发生了什么事?
Cloud for Customer里点了Opportunity ID的超链接到进入overview page,背后发生了什么事?
21 0
libv4l 库【转】
转自:http://www.cnblogs.com/emouse/archive/2013/03/05/2944522.html V4L2摸索了两天还是一头雾水,今天调试一个程序发现两个头文件: #include "libv4l2.h" #include "libv4lconvert.h" 没有找到,网上搜索了下,发现这是在一个库libv4l中集成的,这个库用于编写v4l2 camera应用程序,里面除有常用的v4l2 ioctl调用的封装API外,还有yuv到rgb转换、rgb到yuv转换和jpeg decoder 等API,更多的信息也没有细致的去看。
1060 0
ofibz中请求后view map中对ftl文件类型的处理
问题:request请求后,在其view map中对ftl文件如何引用和处理 分析:ofbiz的9.04和10.04版本处理有些不同,其内部实现代码有差别。 9.04中可以直接使用ftl文件的相对地址处理。
533 0
+关注
tonge
热衷于移动开发技术的研究;对移动端后台架构、移动安全颇有研究;熟悉整个移动开发流程;写过移动跨平台开发技术系列教程
19
文章
3
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载