Javascript base64 pdf缓存元';不显示
我有一个对象标记,它显示base64字符串中的pdf,如下所示:Javascript base64 pdf缓存元';不显示,javascript,php,html,base64,Javascript,Php,Html,Base64,我有一个对象标记,它显示base64字符串中的pdf,如下所示: 在某些计算机上,当文件第一次加载时,它会按应有的方式显示。 然后它“从缓存加载”(在chrome网络检查器中),对象不渲染任何内容。 如果我以隐姓埋名模式返回页面,它会再次工作(仅第一次)。如果我从浏览器中清除缓存,则相同 有人知道是什么原因导致了这种情况吗 谢谢 我的答案来得有点晚,因为我最近也遇到了同样的问题 我想显示服务器上的pdf文件 由于包含pdf的文件夹受htaccess保护,因此我执行了一个ajax请求,该请求将
在某些计算机上,当文件第一次加载时,它会按应有的方式显示。
然后它“从缓存加载”(在chrome网络检查器中),对象不渲染任何内容。
如果我以隐姓埋名模式返回页面,它会再次工作(仅第一次)。如果我从浏览器中清除缓存,则相同
有人知道是什么原因导致了这种情况吗
谢谢 我的答案来得有点晚,因为我最近也遇到了同样的问题 我想显示服务器上的pdf文件 由于包含pdf的文件夹受htaccess保护,因此我执行了一个ajax请求,该请求将返回编码为base64的文件内容。Chrome会缓存它,它只会第一次渲染,而其他时间只会渲染为空白。。。在Safari或Firefox上运行得很好,但我也必须为Chrome修复它 下面是我所做的: 这是我的ajax文件的一部分,用于创建pdf的Base64编码内容,并“回显”它: 最后,这是我的html中显示文件的部分:
<object type="application/pdf" id="pdf_object" style="width:100%; min-height:400px; height:100%;"></object>
希望这能帮助你(和其他人)
$.ajax({
type:'post',
url:'/ajax/file_get.ajax.php',
data:'file=/path/to/myDoc.pdf',
success:function(response){
$('#pdf_object').attr('data','data:application/pdf;base64,'+response);
}
});
<object type="application/pdf" id="pdf_object" style="width:100%; min-height:400px; height:100%;"></object>