これまでのHTMLになかった要素
article aside audio canvas details
figcaption figure footer header hgroup
mark meter nav output progress
section time video
<header>ヘッダ</header>
<section>コンテンツ</section>
<footer>フッタ</footer>
header { padding: 10px; background: #CCC; }
section { padding: 100px; background: #999; }
footer { padding: 10px; background: #CCC; }
新要素にdisplay:blockを指定する
article, aside, figure, figcaption,
footer, header, hgroup, nav, section {
display: block;
}
<div>Text</div>
<section>Text</section>
JavaScriptのcreateElementであらかじめ要素を
つくることで対応可能
document.createElement('section');
http://code.google.com/p/html5shiv/
IEのバグ対応用のスクリプト。
読み込むだけでOK。
<!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
このようなコードで追加したHTML5の新要素にIE6〜8でDOMが壊れる(スタイルが効かない)
var div = document.createElement('div');
div.innerHTML = '<section>section</section>';
document.getElementById('box').appendChild(div);
$('.box').append('<section>section</section>');
http://jdbartlett.github.com/innershiv/
innerHTMLでIEのDOMが壊れるバグを回避する
ライブラリ
var div = document.createElement('div');
div.appendChild( innerShiv('<section>section</section>') );
document.getElementById('box').appendChild(div);
$('.box').append( innerShiv('<section>section</section>') );
<!DOCTYPE html>
<html lang="ja" manifest="cache.appcache">
...
</html>
CACHE MANIFEST
/img/image.png
/js/jquery.js
/css/style.css
※ IEは未対応
AddType text/cache-manifest .appcache
コメントにバージョン情報を書いてマニフェストファイルを更新する
CACHE MANIFEST
# version 1
img/image.png
js/script.js
CACHE MANIFEST
/img/image1.png
/img/imaga2.png
// 値のセット
sessionStorage['foo'] = 'bar';
// 値の取得
sessionStorage['foo']; // => bar
// 値の削除
delete sessionStorage['foo'];
// 値のセット
sessionStorage.setItem('foo', 'bar');
// 値の取得
sessionStorage.getItem('foo'); // => bar
// 値の削除
sessionStorage.removeItem('foo');
オリジン(プロトコル、ドメイン、ポート)を
またいでデータにアクセスできない
http://www.pxgrid.com:80/
プロトコル | http |
---|---|
ドメイン | www.pxgrid.com |
ポート | 80 |
ブラウザ | localStorage | sessionStorage |
---|---|---|
IE8 | 4.75 MB | 4.75 MB |
IE9 | 4.75 MB | 4.75 MB |
Firefox4 | 4.98 MB | unlimited |
Safari5 | 2.49MB | unlimited |
Chrome12 | 2.49 MB | 2.49 MB |
Opera11.11 | unlimited | 4.92 MB |
iOS4.3 | 2.49 MB | 2.49 MB |
Android2.3 | 2.49 MB | unlimited |
setItem(), removeItem(), clear() メソッドがセッション・ストレージ領域と関連づけられている Storage オブジェクト x 上で呼び出されるとき、もしそのメソッドが何かをしたなら、Window オブジェクトの localStorage 属性の Storage オブジェクトが同じストレージ領域と関連づけられているすべての Document オブジェクトの中で、x を除いて、storage イベントが発出されなければいけません。
W3C - 『Web Storage』日本語訳 - HTML5.JP