我有一个像我这样的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字符串/文件所需的所有资源都作为键值对,但是将键作为路径,将值作为文件的数据。
我尝试在我的iframe上设置onload
事件,然后在处理程序中尝试访问iframe的contentWindow
,但这有一些安全问题(因为起源不是相同)。通过获取contentWindow,我可以操作img和脚本标记。
如上所示,在设置iframe src
后,是否有某种方法可以访问这些资源?
请帮助,我已经被困了很长时间。