UIWebView支持跨域,WKWebView不支持!
UIWebView支持跨域,WKWebView不支持!
秦无炎 发表于7个月前
UIWebView支持跨域,WKWebView不支持!
  • 发表于 7个月前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: UIWebView支持跨域,WKWebView不支持!

这几天做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的话,可以看下这篇文章,写的挺不错:从UIWebView到WKWebView

 

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

共有 人打赏支持
粉丝 5
博文 106
码字总数 3108
×
秦无炎
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: