Javascript 使用数据URI显示的HTML可以';t访问相对路径

Javascript 使用数据URI显示的HTML可以';t访问相对路径,javascript,html,data-uri,data-uri-scheme,Javascript,Html,Data Uri,Data Uri Scheme,我随身携带一个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字符串,如下所示:

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需要使用相对路径的一些资源,这是不可能直接访问的

尽管我确实拥有HTML字符串/文件所需的所有资源,这些资源作为键-值对存储在索引数据库中,其中键作为路径,值作为文件的数据

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

在设置
iframe src
之后,是否有某种方法可以访问这些资源,如我上面所示


请帮助,我被困了很长一段时间。

你的URL输出到什么,因为它不是相对的?它们根本不被访问-我看不到任何网络请求被发送。顺便说一句,一个网站的url工作得很好,所以在你的iFrame中
的计算结果是
?我发现这篇博客在不久前做这件事时很有用。最后一种方法是唯一适用于我必须针对的浏览器的方法。请参阅:@colecm:它的计算结果与您所说的不符,只是资源未被获取,可能是因为它位于数据uri中
document.getElementById('frameID').setAttribute('src', "data:text/html, " + str);