こ、この日記、徐々に増えている・・・
というわけで IE8 の新機能、発見したら即更新
- window.sessionStorage window.globalStorage キター!!!!!
- See Also HTML Standard
- See Also DOM Storage - DOM | MDN
- hashchange イベントに対応(HTML5 のメーリングリストで名前を揉めてた気がするけど)
- online offline イベントに対応
- XDomainRequest (なぜ、 XMLHttpRequest level 2 にしなかったのかと(ry
- window.postMessage(cross-document messaging) キター!!
- See Also HTML Standard
- Selectors API キタキタキタキタキタキターーーーーーーーーーーーーーーーーーーーーー!!!!
- See Also Selectors API Level 1
- data スキームサポート
- みたいなことが出来るように
- element.hasAttribute に対応
- element.setAttribute で style や class を設定した場合も style や className がちゃんと変更されるように
- iframe.contentDocument に対応(今までは iframe.contentWindow.document だった
- document.getElementById で name 属性も見ちゃうバグの修正。大文字小文字もちゃんと見てくれるようになった。
XDomainRequest を試してみる
nanto_vi さんに教えてもらいました><
レスポンスヘッダで XDomainRequestAllowed: 1 を返せばクロスドメインでアクセスできる。
以下、http://amachang.art-code.org/amachang.cgi
#! /usr/bin/perl print "Content-type: text/plain\nXDomainRequestAllowed: 1\n\nhoge\n"
以下 html
var xdr = new XDomainRequest(); xdr.open('GET', 'http://amachang.art-code.org/amachang.cgi'); xdr.send(null); xdr.onload = function() { alert('load') }; xdr.onerror = function() { alert('error') }; xdr.ontimeout = function() { alert('timeout') }; xdr.onprogress = function() { alert('progress') };
postMessage を試してみる
これもうまくいかない><何故
var elm = document.querySelector('#target'); elm.contentWindow.postMessage('hoge')
<body> <iframe id="target" src="a.html"></iframe> </body>
a.html
<body onmessage="alert(event.data)"></body>