iframe内容与头部样式,十六进制颜色代码不起作用

时间:2016-05-25 12:22:56

标签: javascript html css iframe

我正在使用带动态html的javascript生成iframe。 我的动态html看起来像 -

<head>
<style>
...
.bar {background-color: #EB593C;}
...
</style>
</head>

然后iframe将所有代码内容直到.bar {background-color: 在颜色代码html / css未包含在iframes内容中之后。

如果我用rgb或文本颜色名称替换十六进制颜色代码,那么这样可以正常工作。

但是我说html是动态的,所以我不能将所有的十六进制颜色代码替换成rgb或文本。

var iframe = document.createElement('iframe');
//var html = '<style>body {background-color: #EB593C;}</style><body>Foo</body>'; // not working
var html = '<style>body {background-color: red;}</style><body>Foo</body>'; // working
iframe.src = 'data:text/html;charset=utf-8,' + encodeURI(html);
document.body.appendChild(iframe);

请检查jsfiddle

0 个答案:

没有答案