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>";

现在,我需要在 iframe 中显示这个 HTML,所以我要做的就是将 iframe src 设置如下:

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

现在,问题是上面的html需要一些使用相对路径的资源,无法直接访问。

尽管我确实将 HTML 字符串/文件所需的所有资源作为键值对存储在 Indexed DB 中,将键作为路径,将值作为文件的数据。

我尝试通过onload在 iframe 上设置一个事件然后在处理程序中尝试访问 iframe的事件来做到这一点,contentWindow但这有一些安全问题(因为来源不同)。通过获取 contentWindow,我可以操纵 img 和 script 标签。

iframe src设置如上所示后,有什么方法可以访问这些资源吗?

请帮助,我已经卡了很长时间了。

4

0 回答 0