链接PDF以在新标签页面中打开

时间:2011-03-31 14:57:21

标签: pdf

我知道这不是一个具体的编程问题,但它让我大吃一惊。

我需要做标题所说的。我已经尝试过很多东西,但它们都没有工作(至少不是跨浏览器)。

1 个答案:

答案 0 :(得分:2)

IIRC,有一个相对较新的PDF-AcroForm JS命令可以解决这个问题:

app.launchURL(myURL, true);

这是对新窗口的请求而不是新标签,但有些浏览器会将其解释为新标签。这可能是您在“跨浏览器”评论中提到的内容。

替代方案有点icky。有一种方法可以在网页和PDF之间进行通信。

在PDF中,您将文档“HostContainer”属性设置为具有各种方法的对象:

在PDF中:

this.hostContainer.postMessage([theURL]);

在HTML中:

var thePDF = document.getElementById("thePDFObjectTagId");
thePDF.messageHandler = {
  onMessage: function(paramArray) {
    openANewTabWithTheUrl(paramArray[0]);
  }
}

包装PDF的网页可能只是一个对象标签和一些脚本。

还有一种以另一种方式发送消息的机制。它全部在JavaScript for Acrobat API Reference中定义。查看“嵌入式PDF”和“HostContainer”的规格。