IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

IE8 速攻徹底レビュー

こ、この日記、徐々に増えている・・・

というわけで IE8 の新機能、発見したら即更新

  • window.sessionStorage window.globalStorage キター!!!!!
  • hashchange イベントに対応(HTML5 のメーリングリストで名前を揉めてた気がするけど)
  • online offline イベントに対応
  • XDomainRequest (なぜ、 XMLHttpRequest level 2 にしなかったのかと(ry
  • window.postMessage(cross-document messaging) キター!!
  • Selectors API キタキタキタキタキタキターーーーーーーーーーーーーーーーーーーーーー!!!!
  • 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>

試したけど対応してなかった機能一覧