4

次のような HTML 文字列があります。

var str = "<html><head><link href='abc.css'/><script src='js/a.js'></script><title>hello</title></head><body><div><img src='images/abcd.png'></div></body></html>";

ここで、この HTML を iframe で表示する必要があるため、iframe src を次のように設定します。

document.getElementById('frameID').setAttribute('src', "data:text/html, " + str);

ここで、問題は、上記の html が相対パスを使用していくつかのリソースを必要とすることであり、直接アクセスすることはできません。

ただし、HTML 文字列/ファイルに必要なすべてのリソースをキーと値のペアとしてインデックス付き DB に格納し、キーをパスとして、値をファイルのデータとして保持しています。

iframe にイベントを設定してこれを実行しようとonloadしましたが、ハンドラーで iframe にアクセスしようとしましたcontentWindowが、これにはいくつかのセキュリティ上の問題があります (オリジンが同じではないため)。contentWindow を取得することで、img タグと script タグを操作できました。

iframe src上記のように設定した後、これらのリソースにアクセスできる方法はありますか?

助けてください、私は長い間立ち往生しています。

4

0 に答える 0