chrome-resource:// からだとクロスドメインXMLHttpRequestが(いちおう)使える
再度chromeのクロスドメインセキュリティチェック探訪でchrome-resource://からなら、異なるドメインのiframeでもふつうに中身にアクセスできるのを見つけたのでXMLHttpRequestもクロスドメイン制約がなかったりするかなーと思って試してみたら、いちおう異なるドメインのページも読み込めました。
chrome-resource://にファイルを作る
chromeのインストールされている場所のresources/InspectorにてきとうなHTMLファイルを置くと、そのファイルにchrome-resource://****.htmlでアクセスできるようになります。ファイルを置くだけで、再起動とかしなくてすぐ読めるようになります。

作ったHTMLファイルの中身はこんなかんじ。
<html>
<head>
<title>chrome-resource:// cross origin XMLHttpRequest</title>
<script type="text/javascript">
window.addEventListener( 'load', function() {
try {
var r = new XMLHttpRequest();
r.open("GET", "http://ido.nu/kuma/", false);
r.send(null);
}catch(e){
document.body.innerHTML = (r.responseText)
alert(e);
}
}, false);
</script>
</head>
<body></body>
</html>
ページを開くとNETWORK_ERRというのが出てくるものの、ページの中身自体はちゃんと読み込めます。

ただchromeの設計として読めるのが正しいのか読めないのが正しいのかわかんないです。
さらに非同期にするとreadyStateが2で止まっちゃって中身が空で読み込めないので事実上役に立たないですけど….
About this entry
You’re currently reading “chrome-resource:// からだとクロスドメインXMLHttpRequestが(いちおう)使える,” an entry on ku
- Published:
- 2008.11.11 / 9pm
- Category:
- chrome, javascript

No comments
Jump to comment form | comments rss [?] | trackback uri [?]