内部にブロブとして格納されたhtmlドキュメントを含むIndexedDBデータベースと、iframeを使用してこれらのドキュメントを視覚化するWebアプリケーションがあります。
私の問題は次のとおりです。iframe内に表示されたhtmlドキュメント内のリンクをクリックするたびにhtmlドキュメントがあるデータベースのストアを取得したいのですが、試してみると例外がスローされます。私がiframeの「内側」にいない場合(関数は、iframe内のハイパーテキストリンクにバインドされたeventListenerの内側にあります)、問題なく取得します。
使用される関数は次のとおりです。
function getObjectStore(store_name, mode) {
var tx = db.transaction(store_name, mode); // mode in this case is 'readonly'
return tx.objectStore(store_name); // line where the exception is thrown when "inside the iframe"
}
ここで、db は私のデータベースです。スローされる例外は次のとおりです。
例外...「ミューテーションが許可されていないデータベースでミューテーション操作が試行されました。」コード: "11" nsresult: "0x80660006 (InvalidStateError)"
他のケースではすべて問題なく、ストアを取得する手順に問題は見られないため、メイン ページが表示されてもメイン ウィンドウのデータベースにアクセスできないため、この問題があるかどうかを知りたいと思いました。 iframe 内のページはローカル サーバーからのものであるか、別の理由によるものです。
アドバイスありがとうございます!