1

基本上,我有一些 HTML 编码为 base64,并带有一个 iframe,其中所说的 html 设置为源。

<iframe src="data:html;base64, PGRpdiBzdHlsZT0iY29sb3I6cmVkOyI+VGhpcyB0ZXh0IGlzIHJlZC48L2Rpdj4="></iframe>

jsFiddle 版本

上面的代码应该显示为:

This text is red.

Firefox 似乎能够毫无问题地显示它,但是 Chrome 尝试将其作为文件下载并且根本不显示它。IE 也有问题,但我不太关心这个特定的项目。

我想知道为什么会发生这种情况,以及解决方案(如果有)。

干杯。

4

1 回答 1

2

此问题是由错误的数据类型规范引起的。

如果你回看原始代码,规范如下;

data:html;base64,

但是,HTML 的正确规范类型是:

data:text/html;base64,

Firefox 似乎可以理解格式错误的版本,而 Chrome 则没有。

于 2013-02-11T00:08:31.887 回答