首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTML在iframe中设置blob (PDF) url不适用于移动

HTML在iframe中设置blob (PDF) url不适用于移动
EN

Stack Overflow用户
提问于 2022-05-06 09:23:02
回答 2查看 945关注 0票数 5

我使用API获取生成的PDF或存储在私有目录上的PDF (只有在用户登录时才能访问)。

我的端点用Content-Type : application/pdf发送http响应。

我在React.js应用程序上接收到它,该应用程序使用fetchresponse.blob()上执行URL.createObjectURL(blob)操作。

当我把它推到一个iframe <iframe src={blobUrl} type="application/pdf"></iframe>中时,它可以在桌面浏览器上工作,而不能在移动浏览器上工作。

它甚至不工作在铬探测仪在响应模式。

但是,当我用该代码下载它时,它可以在移动平台上工作:

代码语言:javascript
运行
复制
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在httpsblob:https://{domain}.com/00457da4-a423-44ea-a26b-a65f7ec17e42上运行良好。

有人知道如何在iframe中显示PDF,以便在手机上预览吗?

编辑它令人惊讶地工作在safari移动(IOS)上

我在铬桌面上检查了编辑2,我发现如下:

代码语言:javascript
运行
复制
<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

//屏幕截图已丢失在编辑中

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-20 08:07:35

我想你会遇到一些奇怪的安全问题。与其使用iFrame,不如在主页中使用viewer.jspdf.js

票数 0
EN

Stack Overflow用户

发布于 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上工作的话。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72139112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档