在 Android 移动网络应用程序中嵌入 pdf 时如何避免打开按钮?

Llo*_*ole 5 pdf android google-chrome web-applications embedding

我正在构建一个网络应用程序,供一家使用三星平板电脑(Android 9 和 Chrome 最新版本)的公司内部使用。我有一个包含 PDF 文档链接列表的页面,问题是当我单击其中任何链接时,它们不会自动打开,而是显示一个要求打开文档的“打开”按钮。如果我单击“打开”,文档将按预期使用默认查看器(Google PDF 查看器)打开。当我返回时,“打开”按钮仍然在那里。如果文档已经下载,浏览器会询问是否重新下载。这些图像显示了情况:

http://www.maresme.net/stackoverflow/chrome_android_pdf/open_button.jpg http://www.maresme.net/stackoverflow/chrome_android_pdf/allow_auto_downloads.jpg

是否可以绕过此步骤并自动打开文档而不显示此按钮?我想避免使用此按钮,并且当用户从阅读文档返回时,他们会再次找到其他 PDF 的链接列表。

我尝试了不同的嵌入 PDF 的方法(嵌入、对象和 iframe),但没有成功。另外,我考虑使用 pdf.js 和 canvas 标签,但我的 web 应用程序也必须离线工作,而且这个解决方案使用了太多资源。

在网上搜索时,我发现有关 Chrome 中“隐私和安全”下的一个选项的参考资料,该选项允许自动打开 PDF,但此选项不会出现在我正在使用的平板电脑中。这是无法绕过的安全限制吗?

我真的很感谢任何帮助,这让我发疯。

小智 3

我要回答自己:Chrome移动版的问题是它不支持扩展,因此没有PDF插件允许在浏览器中查看此类文件。当您打算打开 PDF 文件时,浏览器必须在外部应用程序中打开它,该应用程序是默认查看器(如果已定义)或任何其他有能力的查看器(将显示一个列表)。这就是它请求许可的原因,我认为这是一种安全措施,不知道如何/是否可以规避它。

使用 pdf.js(和其他商业工具包),您可以在浏览器中使用 JavaScript 解析 PDF 文件,因此不需要任何插件。但是,您必须将所有这些代码包含在 PWA 中以供离线使用(并且有一些代码)。对我有用的另一种方法是使用支持扩展的 Kiwi 浏览器(我有一个封闭的用户组,我可以强制执行此操作),然后使用插件,例如 pdf.js 的插件版本。

希望这对某人有帮助。