javascript - 如何防止 Mobile Safari 在共享时将 PDF 的 base64 编码的 URL 插入到电子邮件中?

标签 javascript pdf web mobile-safari

我有一个 JavaScript Web 应用程序,可以在用户浏览器中生成 PDF 客户端(使用 pdfmake)。

在移动 Safari 中,用户可以打开此 PDF 并以 native 方式查看它,但是当他们通过电子邮件共享它时,消息会将 PDF 的整个 Base64 编码 URL 插入到电子邮件中,并且很快就会变得难以处理。

我需要采取什么解决方法来阻止它这样做?当用户通过电子邮件共享文档时,是否没有某种方法可以指定默认消息(可能在某些元数据中)?

目前,用户体验是 Not Acceptable ,因为用户必须在发送消息之前删除整个 base64 URL,该消息有好几页长。

我宁愿不必先将 PDF 发送到服务器来获取较小的 URL。

最佳答案

好吧,您可以通过提供您自己的电子邮件来绕过浏览器共享,利用 mailto: 用户可以看到的地方...

另一个未经测试的想法是,您可以将 PDF 包装在 iframe 中,然后当页面转发时,将共享主机页面,而不是 PDF,这可能需要使用 PDF 查看器脚本,例如 google 的,类似:

    <iframe src="https://docs.google.com/viewerng/viewer?url={{ URL to your PDF goes here  }}&embedded=true" frameborder="0" height="100%" width="100%">
</iframe>

关于javascript - 如何防止 Mobile Safari 在共享时将 PDF 的 base64 编码的 URL 插入到电子邮件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39212091/

相关文章:

javascript - 如何将数据从nodejs传递到html脚本标签内部

javascript - 如果高度超过 100px,改变位置

html - 使用 Firefox 或 Chrome 打开时,Rmarkdown 生成的 html 文件中未显示 Pdf 图

php - 使用php从数据库显示pdf

python-3.x - pdfminer python 3.5

javascript - 为什么这个 window.innerheight 的性能这么差?

javascript - 在 Javascript 中按比例缩放 x 和 y 坐标

javascript - 隐藏 url 中传输的数据

html - 在 Bootstrap 中居中不均匀的部分列

php - 与动态 HTML 相比,Web 服务有哪些优点?