[Phonegap+Sencha Touch] 移动开发53 Cordova/Phonegap 4(或5) 多了什么?

原文地址:http://blog.csdn.net/lovelyelfpop/article/details/46778687



Cordova 4(或5)其实是Cordova CLI 4(或5),即命令行工具版本是4(或5)。


截至本文发表日期,Cordova CLI最新版本5.1.1,其中的Cordova Android 最新版本是4.0.2;Cordova iOS最新版本是3.8。


对于Cordova Android 4.0来说,最大的改变有:

一、Cordova Android 4.0中,自动化构建工具从ant变成了gradle
这是为了配合google官方的开发工具Android studio(原本的eclipse+ADT不再更新)

二、Cordova插件cordova-plugin-whitelist访问/请求 白名单插件
此插件必须!!

白名单的配置有以下几个方面:
1、Navigation Whitelist(webview中页面跳转白名单)
配置方式:config.xml 中 配置 <allow-navigation> 节点
如<allow-navigation href="http://*" />,即允许跳转到任意http协议的页面
此节点对于单页面webapp用不到

2、Intent Whitelist意图白名单)
这里的意图,也就是从外部浏览器打开,或者<a href="tel:10086">打电话</a>,<a href="sms:10086">发短信</a>。
配置方式:config.xml 中 配置 <allow-intent> 节点
如<allow-intent href="*" />表示允许任何意图

3、Network Request Whitelisthttp请求白名单)
也就是ajax和jsonp请求了
配置方式:config.xml 中 配置 <access> 节点,
如<access origin="*" />即允许任何网址的http请求

4、Content Security Policy
W3C的Content Security Policy,简称CSP。顾名思义,这个规范与内容安全有关,主要是用来定义页面可以加载哪些资源,减少XSS的发生。
虽然脚本资源是最明显的安全隐患,但是CSP还提供了一套丰富的指令集,允许页面控制加载各种类型的资源,例如如下的类型:
  • content-src:限制连接的类型(例如XHR、WebSockets和EventSource)
  • font-src:控制网络字体的来源。例如可以通过font-src https://themes.googleusercontent.com来使用Google的网络字体。
  • frame-src:列出了可以嵌入的frame的来源。例如frame-src https://youtube.com只允许嵌入YouTube的视频。。
  • img-src:定义了可加载图像的来源。
  • media-src:限制视频和音频的来源。
  • object-src:限制Flash和其他插件的来源。
  • style-src:类似于Script-src,只是作用于css文件。
目前Chrome浏览器已经遵循了这个CSP理念。

cordova项目中,需要在html文件的head内添加 如下的<meta>标签:
<meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *">
上面的这个CSP策略,已经允许了基本上所有的请求了,一般只要复制到你的html文件中就可以使用了。

注意:截至本文发表日期,Cordova iOS的版本为3.8,而WhiteList插件最新版1.1.0只支持Cordova iOS 4.0+。
所以对于Cordova开发ios的,暂且使用WhiteList v1.0.0版本。


三、Cordova Android 4.0支持了pluggable WebView
也就是可以以插件的形式更换app的webview的内核
有名的是CrossWalk这个内核的webview,基于Chromium。
详细请看:https://crosswalk-project.org/documentation/cordova/cordova_4.html
cordova crosswalk插件的地址:https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview

CrossWalk可以解决android参差不齐的生态环境下,原生webview的表现不一致的问题。仅支持Android 4.0以上系统。




欢迎加入Sencha Touch + Phonegap交流群

1群:194182999 (满)

2群:419834979

共同学习交流(博主QQ:479858761


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘_博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值