当我尝试将 PDF 数据 URI 加载到src="data:application/pdf;base64,..."
FireFox(18.0.2 [当前版本],OSX)中的 iframe(例如,)时,它会打开一个下载窗口。
例如,查看网站JSPDF.com
同一站点在 Aurora (20.0a2) 中运行良好
这是 Firefox 的一个已知问题吗?是不是不符合规范...?
Aurora 有一个内置的 PDF 渲染器,可以内联渲染 PDF。
截至昨天的当前版本没有那个;它首先出现在即将发布的 Firefox 19 中。
没有 PDF 插件或内置 PDF 渲染器的浏览器只会提供下载或在帮助应用程序中打开在您执行操作时加载到窗口中的 PDF,这正是您所看到的。
就规范而言,这两种行为都是合规的。没有什么说浏览器需要支持 PDF 的内联渲染。
我在 Firefox、iframe 和数据 URI 上遇到了非常相似的问题。我通过检查数据类型定义中没有空格来解决它。我的是文本/html,所以不要写这个:
src="data: text/html, ..."
它必须是这样的:
src="data:text/html,..."
我得出的结论是,Firefox 不理解带有空格的内容类型,因此认为它是一个可下载的文件。
这可能是在没有安装 adobe reader 时引起的。不过我不确定。因为我没有运行 Firefox 的 Mac,所以无法在这里测试它。