文档章节

UIWebView支持跨域,WKWebView不支持!

秦无炎
 秦无炎
发布于 2017/05/05 16:19
字数 434
阅读 41
收藏 0

这几天做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

本文转载自:

共有 人打赏支持
秦无炎
粉丝 4
博文 123
码字总数 5319
作品 0
朝阳
程序员
网易严选的wkwebview测试之路

本文来自网易云社区 作者:孙娇 UIWebView是苹果继承于UIView封装的一个加载web内容的类,它可以加载任何远端的web数据展示在你的页面上,你可以像浏览器一样前进后退刷新等操作。不过苹果在i...

网易云
09/20
0
0
WK 与 JS 的那些事 WKWebView使用

苹果在iOS 8中推出了 ,这是一个高性能的 web 框架,相较于 来说,有巨大提升。本文将针对 WKWebView 进行简单介绍,然后介绍下如何和 JS 进行愉快的交互。还望各位大佬不吝赐教。 本文分为两...

秦无炎
2017/10/26
0
0
怎么让UIwebView/WKWebView支持WebSocket

有一个聊天需求,用H5写的,iOS端只需要加载H5页面就可以了,但是UIWebView不支持wesocket,百度到的方法都是导入SRWebSocket对象,然后进行初始化,在他的回调里边去实现聊天,但是这样的话...

你妹的擦
2016/07/05
585
1
WKWebView针对于Cordova的IOS平台性能提升

聊聊家常 Ionic框架已经日益成熟,它使得我们很轻松就能实现与原生相似的体验,然而APP的速度是一个必要的条件,我们发现大多数NB的APP都有着一个共同的特点,那就是流畅。其实裸露的cordova...

赵_俊明
2016/08/19
508
0
iOS开发之WKWebView的使用以及遇到的问题

一、WKWebView简介 UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView将逐步取代笨重的UIWebView。通过简单的测试即可发现UIWebView占用过多内存,且内存峰值更是夸张。WKWebVi...

ziyuzhiye
2017/12/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nginx 配置url 跳转

Step 1:前言 公司一个管理后台,每次访问要写很长的参数,想直接访问域名就去管理页面 Step 2:配置 location / { rewrite ^/$ http://pay-admin.sasha-lab.com/index.php?m=admin&c...

Linux_Anna
27分钟前
2
0
php7在FreeBSD系统下静态编译iconv,导致BUS ERROR (core dump)解决

bug页面: https://bugs.php.net/bug.php?id=72198 触发此bug需要很多条件: FreeBSD系统(10.0以上),Linux系统、MacOS下均无此问题 静态编译iconv扩展,动态iconv扩展也无此问题 系统安装了...

hell0cat
30分钟前
3
0
FireFox下载时文件名乱码问题解决

String filename = java.net.URLEncoder.encode(file.getName(), "UTF-8"); response.setHeader("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + filename);......

放飞E梦想O
37分钟前
1
0
Spring声明式事务不回滚问题

注解 @Transactional 声明事务 内部调用方法不会走代理方式调用,而是类内部的函数调用,有事务注解也不会开启事务 但是当A有事务调用B时,B会加入A事务中,使之为同一事务 A无事务 ,B有事务...

职业搬砖20年
38分钟前
3
0
高并发的“大杀器”:异步化、并行化

高并发的大杀器:异步化 同步和异步,阻塞和非阻塞 同步和异步,阻塞和非阻塞,这几个词已经是老生常谈,但是还是有很多同学分不清楚,以为同步肯定就是阻塞,异步肯定就是非阻塞,其实他们并...

微笑向暖wx
40分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部