印象中IE8是不支持HTML5的,后来零零碎碎看到部分HTML5支持,今天特地归档一下,看看IE8到底支持多少HTML5, stackoverflow上有人说,IE8在当年发布时,Microsoft承诺:With full CSS 2.1, strong HTML 5 support ,参见:http://msdn.microsoft.com/en-us/library/cc288472 。full CSS2.1 没问题,这个strong HTML5 support 到底在哪里?为此特地去Microsoft官方摘录一下: 跨域
1.网络离线检测:window.navigator.onLine 浏览器
if(!window.navigator.onLine){ alert('offline'); }
2.本地存储:window.localStorage 网络
if( 'localStorage' in window && null != window.localStorage ){ localStorage.setItem('test', 'hello world'); alert(localStorage.getItem('test')); localStorage.removeItem('test'); }
3.Ajax跨域请求 XDomainRequest() ,仅IE8+支持,其余浏览器的XMLHttpRequest对象内置支持跨域请求。 dom
if('XDomainRequest' in window && null != window.XDomainRequest){ // test /* 使用方法同 XMLHttpRequest对象 var rq = new XDomainRequest(); rq.onload = function(){}; rq.open('GET', 'http://www.example.com/'); rq.send(); */ alert('support XDomainRequest'); }4.跨文档消息传输:postMessage()
window.top.postMessage('hello, from cross domain iframe message', 'http://www.example.com');
5.本地JSON对象支持:JSON 两个方法:JSON.stringify(); JSON.parse(); post
if('JSON' in window && null!=window.JSON){ alert(JSON.parse( JSON.stringify({'hello': 'world'}) )['hello']); }
6.Ajax连接 前进后退支持:window.onhashchange() spa
7.CSS选择器:document.querySelectorAll(); // 一直觉得不支持! code
果真是很是strong的support啊。 orm