iframeを使用して別のドメインに値を保存しようとしています(実際には、http://xauth.org/info/のxauthライブラリを使用しています)。しかし、Chromeを使用して何かを保存しようとすると、「QUOTA_EXCEEDED_ERR:DOM Exception 22」が返され、アクセスエラーとして認識されるようになりました。効果を再現するために、以下の非常に単純なページをいくつかモックアップしました。
ファイル1.html:
<html>
<head/>
<iframe src='http://127.0.0.1/2.html' />
</html>
ファイル2.html:
<html>
<head/>
<script>
console.log(localStorage);
localStorage.setItem('test', '123');
</script>
</html>
これらの両方をローカルサーバーに配置してlocalhost/1.htmlにアクセスすると、127.0.0.1(Chromeは別のドメインと見なします)のフレームが埋め込まれ、上記と同じアクセスエラーが発生します。推測では、別のドメインからiframeを埋め込んでいて、そのiframe内のスクリプトが、そのドメインのlocalStorageを適切に参照しているように見えます(console.log(localStorage)行で確認できます)。 localStorageへの書き込みは、トップページのドメインから取得されます。
つまり、ChromeのlocalStorageにiframeが書き込めないようです。この特定のセキュリティ「機能」を回避する方法があるかどうか誰かが知っていますか?それとも私は何か間違ったことをしていますか?