Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript base64 pdf缓存元';不显示_Javascript_Php_Html_Base64 - Fatal编程技术网

Javascript base64 pdf缓存元';不显示

Javascript base64 pdf缓存元';不显示,javascript,php,html,base64,Javascript,Php,Html,Base64,我有一个对象标记,它显示base64字符串中的pdf,如下所示: 在某些计算机上,当文件第一次加载时,它会按应有的方式显示。 然后它“从缓存加载”(在chrome网络检查器中),对象不渲染任何内容。 如果我以隐姓埋名模式返回页面,它会再次工作(仅第一次)。如果我从浏览器中清除缓存,则相同 有人知道是什么原因导致了这种情况吗 谢谢 我的答案来得有点晚,因为我最近也遇到了同样的问题 我想显示服务器上的pdf文件 由于包含pdf的文件夹受htaccess保护,因此我执行了一个ajax请求,该请求将

我有一个对象标记,它显示base64字符串中的pdf,如下所示:

在某些计算机上,当文件第一次加载时,它会按应有的方式显示。 然后它“从缓存加载”(在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>