【发布时间】:2017-08-24 18:20:35
【问题描述】:
背景:
对于我支持的应用程序,我们向用户显示某些文档,他们要么填写,然后必须交给某个人,或者必须打印出来,然后填写并交给特定的人.
我们显示这些消息的方式是通过 PDF 文档中的 JavaScript,如下所示:
app.alert('You need to fill in this form, then send it to Person McDude in Accounting.');
虽然这种方法在 IE11、Chrome、Firefox 和其他现代浏览器及其 PDF 查看器中经过了很好的测试,但 Edge 似乎是个例外。无论出于何种原因 - 很可能是 Edge 中内置 PDF 阅读器的差异 - 上面应该显示的消息没有显示出来。
我们的客户要求我们向下载 PDF 的人展示此信息;我们无法绕过展示它。
虽然有一些方法可以规避这一点 - 可能会在下载 PDF 之前显示消息 - 我更愿意保留我们系统的原始行为。因此,我的问题...
研究:
在撰写此主题之前,我使用关键字 run javascript in PDF file edge 进行了几次 Google 搜索。
我没有从我的搜索中找到相关的结果,以及相同的其他排列。虽然我可能没有使用正确的组合,但我没有发现其他案例的结果,例如我的案例,没有在 Edge 中显示的 PDF 中的强制警报文本,或者关于此类问题的任何潜在补救措施.
此外,我自己对任何 Edge PDF 查看器设置的即兴搜索遇到了......没有结果。说真的,我根本不知道如何配置 Edge PDF 查看器。
问题:
怎样让 MS Edge 运行 PDF 文档 JavaScript?
【问题讨论】:
-
我不确定 PDF 文档是否曾经首先执行 javascript。我从来没听说过。我建议您在 PDF 打开之前执行您提出的警报解决方案。
-
我会更加考虑您的建议。我也不认为我曾声称文档曾经运行过 JavaScript。
-
那么,这个现有的代码在哪里运行? PDF 是否加载到 iframe 中?我不明白您的系统目前是如何设置的。
-
提供 PDF 的网站在新选项卡中打开 PDF 文档。在 IE11/Chrome/non-Edge others 中,在新标签页中加载 PDF 时会出现该消息。
-
@Our_Benefactors:为了将来参考,Adobe PDF 查看器以及其他一些查看器具有内置的 JavaScript 引擎,就像浏览器一样。使用 PDF,您拥有 JS 核心和针对 PDF 对象和事件模型运行的 PDF 扩展......就像 HTML 浏览器拥有 JS 核心和针对 HTML DOM 运行的 HTML 扩展一样。
标签: javascript pdf microsoft-edge