我使用API获取生成的PDF或存储在私有目录上的PDF (只有在用户登录时才能访问)。
我的端点用Content-Type : application/pdf
发送http响应。
我在React.js应用程序上接收到它,该应用程序使用fetch
从response.blob()
上执行URL.createObjectURL(blob)
操作。
当我把它推到一个iframe <iframe src={blobUrl} type="application/pdf"></iframe>
中时,它可以在桌面浏览器上工作,而不能在移动浏览器上工作。
它甚至不工作在铬探测仪在响应模式。
但是,当我用该代码下载它时,它可以在移动平台上工作:
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.style = 'display: none';
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
而且,当我执行console.log(blobUrl)
时,url在https:blob:https://{domain}.com/00457da4-a423-44ea-a26b-a65f7ec17e42
上运行良好。
有人知道如何在iframe中显示PDF,以便在手机上预览吗?
编辑它令人惊讶地工作在safari移动(IOS)上
我在铬桌面上检查了编辑2,我发现如下:
<embed type="application/x-google-chrome-pdf" src="chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/602420b2-c69b-486d-99f9-ece26af579be" original-url="blob:https://{domain}.com/c6c6af4f-554d-4c65-8ab3-1a2de6c39bd9" javascript="allow">
因此,我认为可以从铬桌面的“阴影”扩展中查看PDF comme,这就是为什么我们无法在移动平台上看到它。Chrome手机没有扩展兼容性。
确认:https://www.quora.com/Why-does-Chrome-on-Android-not-open-PDF-files-like-Chrome-on-Windows-Linux-can
//屏幕截图已丢失在编辑中
发布于 2022-11-24 02:42:57
Chrome使用捆绑的Foxit协作真PDF查看器插件。与其他较轻的外部查看器或更轻的.js pdf类似,在火狐中使用的图像/html查看器可能会在浏览器或作为服务嵌入的web端外部工作。Google使用轻量级js混合浏览器,如Mozilla PDF.js
从OP链接
亚历克斯·罗素 在谷歌Chrome工作 ,前谷歌高级软件工程师 作者有89个答案和581.6K答案views8y 安卓的Chrome和Chrome有什么区别? 它们是由相同的代码库构建的,所以说它们很不一样是错误的。尽管如此,从历史上看,与更容易消耗内存和CPU的东西有关,导致Chrome启动更少的进程,无需插件等。但在很大程度上应该只是在Chrome上工作(TM),如果它在Chrome上工作的话。
https://stackoverflow.com/questions/72139112
复制相似问题