博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIWebView支持跨域,WKWebView不支持!
阅读量:7032 次
发布时间:2019-06-28

本文共 739 字,大约阅读时间需要 2 分钟。

hot3.png

这几天做Hybrid应用涉及到了几个ajax请求,iOS是可以请求成功的,把html页面用safari打开也是可以请求成功,但是Andriod死活不成功而是直接进入error方法,本来还以为是Andriod代码配置的问题,后来才知道是跨域导致的,而跨域问题是在ajax侧配置的。

那么问题来了,为什么iOS在没有进行跨域配置的情况下就直接请求成功了呢???

原因:因为我在加载html界面时用的是UIWebView,这才是问题的关键。

UIWebView是UIKit下内置的浏览器控件,是渲染引擎和JS引擎的组合。系统自带的Safari浏览器也是通过UIWebView实现。

最最关键的———UIWebViw是支持跨域的。。。。。知道真相的我也是红红火火恍恍惚惚了!

给我惊喜的不止这个,还有WKWebView这个小婊砸!

在WWDC 2014发布会上发布iOS 8中,apple公布了WebKit框架,这意味着OSX和IOS开发者将共用同样的开发库,新改变可以提高开发者编写的代码的重复使用性。WebKit框架使用WKWebView来代替IOS的UIWebView和OSX的WebView,并且使用Nitro JavaScript引擎,这意味着所有第三方浏览器运行JavaScript将会跟safari一样快。

但是WebKit对跨域进行了安全检查限制,不允许跨域,所以要对不能跨域的链接单独处理。

如果你还想了解更多关于UIWebView和WKWebView的话,可以看下这篇文章,写的挺不错:

 

原文:http://www.jianshu.com/p/00770d661916

转载于:https://my.oschina.net/u/2345393/blog/893437

你可能感兴趣的文章
python - hadoop,mapreduce demo
查看>>
mongodb常见管理命令
查看>>
1.7 以函数对象取代函数
查看>>
Vue过渡效果之JS过渡
查看>>
Android项目实战(三):实现第一次进入软件的引导页
查看>>
Web Service基础——基础概念
查看>>
Linux2.4文件系统中vfsmount、安装点的dentry、设备的dentry之间的关系【转】
查看>>
POJ 1201 Intervals
查看>>
JAVA訪问URL
查看>>
APP接口基础学习一
查看>>
设计模式 策略模式 以角色游戏为背景
查看>>
【转】CSS和SVG中的剪切——clip-path属性和<clipPath>元素
查看>>
【C语言入门教程】5.4 递归
查看>>
UVALive 6915 Leveling Ground 倍增RMQ
查看>>
Inside ARC — to see the code inserted by the compiler
查看>>
云中气象 有备而来
查看>>
4.dubbo-demo+简易监控中心安装+管理控制台安装
查看>>
读书笔记《集体智慧编程》Chapter 4 : Searching and Ranking
查看>>
jquery form 插件 分类: JavaScript ...
查看>>
php二维数组访问
查看>>