iPhone5和IOS6对HTML5的新增支持_博看文思-HTML5_百度空间
尽管桌面平台上的safari一直不是最好的HTML5浏览器,但随着iPhone5和IOS6的正式发布,苹果再一次增加了很多HTML5的特性支持。不难看出苹果仍是HTML5发展的中流砥柱。
-
iPhone5改变了iPhone一直以来的2:3屏幕宽高比,变为了40:71。之前做iPhone上的应用和游戏,大部分只需要考虑320*480即可,而之后我们必须再考虑:320*568
-
支持文件上传的标签。终于可以在浏览器内上传文件了。
-
可以访问摄像头。通过HTML5的Media Capture API 即可。
-
web Audio API的原生支持。IOS对HTML5 音频的支持可谓是臭名昭著,如今开发者们终于等来了音频的支持。在此之前,音视频的实现都是通过IOS的QuickTime插件实现的,在做游戏开发的时候并不能很好的使用,最明显的就是多音频同时播放的问题。
-
CSS3 滤镜。和IE系列的滤镜类似(滤镜无非也就那几种),不过性能和稳定性要比IE滤镜强太多,连微软都已经抛弃自家开发的滤镜,转投标准下的CSS3 滤镜。
-
CSS3 cross fade。新增了一些 CSS Image Values支持。设计师们又有新的东西可以玩了
-
全屏支持。离全屏API的开放也不远了。
-
requestAnimationFrame的支持。这个由Firefox程序员提出来的概念,如今得到快速的发展和应用。在做动画的时候,由于它减少了dom的回流重回,以及和屏幕刷新频率同步,它能带来比setTimeout/setInterval更好的性能,以及更少的CPU消耗。
-
离线缓存的大小限制增加到了25M。
-
meta标签可以为web app定义不同的名字了。这个名字会显示在IOS的桌面上。<meta name="apple-mobile-web-app-title" content="My App Name">
-
指定 apple-mobile-web-app-capable 的web app将拥有独自的沙盒。这意味着及时来自同一个域下的web app,都拥有自己的沙盒文件系统,不会彼此干扰。这里面的内容会永久存储起来。之前IOS会在资源不够用的时候,影响到这些数据
-
原生支持了Web Inspector远程调试。这是由webkit 调试API开发出来的一个工具,用以实现远程调试。早在IOS5中就已经有私有API可以实现远程调试了,目前也可以在xcode中直接调试iphone中的HTML5页面。Web Inspector绝对是HTML5移动终端开发的一件利器,常用的一个工具是iwebinspector。
-
app安装提示框。首先找到一款itunes中的app,然后在页面中加上相应的meta:<meta name="apple-itunes-app" content="app-id=9999999"> 即可实现用户在进入该页面后,系统自动提示他安装该应用。
-
canvas实现了两个私有api:webkitGetImageDataHD 和webkitSetImageDataHD.
-
XMLHttpRequest Level 2的实现,可以监听数据加载进度,更方便的跨域都是Level2的亮点
-
CSS3 Exclusions和 CSS3 Regions在IOS6 beta1中已经实现,但是正式版中却又移除了。CSS3 Regions是一种新的复杂布局,可以实现类似杂志的复杂无规律的布局,是由Adobe公司提交给W3C的一项技术。
-
-webkit-transform:perserve-3d不会强制GPU加速。
目前在主流的智能终端中,IOS6对HTML5的支持程度仍旧是最好的,远远领先于android和windows phone。随着iPhone5的性能再次翻倍,以及IOS不断提升的canvas渲染性能,加之android的webgl,win8/wp8的本地api对Javascript开放,性能已经不再是开发大型HTML5游戏的主要屏障,如今要考虑的是如何发挥HTML5的优势做出用户喜欢游戏。
using my own FORM_LOGIN_FILTER
<http auto-config="false" entry-point-ref="loginUrlAuthenticationEntryPoint"> <custom-filter position="FORM_LOGIN_FILTER" ref="myAuthenticationFilter" /> </http> <beans:bean id="myAuthenticationFilter" class="MyAuthenticationFilter"> <beans:property name="authenticationManager" ref="authenticationManager"/> <beans:property name="authenticationFailureHandler" ref="failureHandler"/> <beans:property name="authenticationSuccessHandler" ref="successHandler"/> </beans:bean> <beans:bean id="successHandler" class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler"> <beans:property name="defaultTargetUrl" value="/login.spring"/> </beans:bean> <beans:bean id="failureHandler" class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler"> <beans:property name="defaultFailureUrl" value="/login.spring?login_error=1"/> </beans:bean> <beans:bean id="loginUrlAuthenticationEntryPoint" class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint"> <beans:property name="loginFormUrl" value="/login.spring"/> </beans:bean>
Creating a custom authentication with Acegi/Spring Security - Stack Overflow
-
Implement a custom
AuthenticationProvider
which gets all your authentication information from theAuthentication
:getCredentials()
,getDetails()
, andgetPrincipal()
.Tie it into your Spring Security authentication mechanism using the following configuration snippet:
<bean id="myAuthenticationProvider" class="com.example.MyAuthenticationProvider"> <security:custom-authentication-provider /> </bean>
-
This step is optional, if you can find a suitable one from standard implementations. If not, implement a class extending the
Authentication
interface on which you can put your authentication parameters:(e.g. a user identifier, timestamp, signature, etc.)
-
Extend a custom
SpringSecurityFilter
which ties the above two classes together. For example, the Filter might get theAuthenticationManager
and callauthenticate()
using your implementation ofAuthentication
as input.You can extend AbstractAuthenticationProcessingFilter as a start.
You can reference UsernamePasswordAuthenticationFilter which extends
AbstractAuthenticationProcessingFilter
.UsernamePasswordAuthenticationFilter
implements the standard Username/Password Authentication. -
Configure your Spring Security to add or replace the standard
AUTHENTICATION_PROCESSING_FILTER
. For Spring Security Filter orders, seehttp://static.springsource.org/spring-security/site/docs/3.0.x/reference/ns-config.html#filter-stackHere is a configuration snippet for how to replace it with your implementation:
<beans:bean id="myFilter" class="com.example.MyAuthenticationFilter"> <custom-filter position="AUTHENTICATION_PROCESSING_FILTER"/> </beans:bean>