Javascript不会更改PDF或缩放页面

时间:2016-03-04 11:26:53

标签: javascript internet-explorer pdf microsoft-edge

我使用的是Windows 10,我的桌面上有一个名为pdf.html的文件。

pdf.html的内容是。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">

function goAndZoom(pageNum,zoom)
{
    var pdf = document.getElementById('pdf');
    pdf.data = pdf.data+'#page='+pageNum+'&zoom='+zoom;
    document.body.removeChild(pdf);
    document.body.appendChild(pdf);
}
</script>
</head>
<body>
<button onclick="goAndZoom(4,300);">Go to Page 4 and zoom 300%</button>
<object id="pdf" data="http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf" width="100%" height="700px" type="application/pdf">
<param name="zoom" value="100" />
</object>

</body>
</html>

我在Chrome中打开此文件。当我按下按钮&#34;转到第4页并缩放300%&#34;时,嵌入式pdf将转到第4页并缩放300%。当我在Edge浏览器中重复这两个操作时,pdf停留在第1页而不改变缩放。我与其他人共享了此pdf.html文件,他们在使用IE 11时报告了同样的问题。

如何让goAndZoom()功能转到PDF中的页面并放大IE和Edge?

3 个答案:

答案 0 :(得分:0)

使用html对象时,Internet Explorer具有奇怪的行为。尝试使用相同的属性创建新对象。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">

function goAndZoom(pageNum,zoom)
{
    var pdf = document.getElementById('pdf');
    var newPdf = document.createElement("object");
    newPdf.type = "application/pdf";
    newPdf.height = pdf.height;
    newPdf.width = pdf.width;
    newPdf.id = pdf.id;
    newPdf.data = pdf.data+'#page='+pageNum+'&zoom='+zoom;
    document.body.removeChild(pdf);
    document.body.appendChild(newPdf);
}
</script>
</head>
<body>
<button onclick="goAndZoom(4,300);">Go to Page 4 and zoom 300%</button>
<object id="pdf" data="http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf" width="100%" height="700px" type="application/pdf">
<param name="zoom" value="100" />
</object>

</body>
</html>

答案 1 :(得分:0)

截至2016年4月27日尚无解决方案

答案 2 :(得分:0)

我知道我在这里参加派对已经迟到了,但是答案就是这样......

在IE中,您(可能)实际上使用Adobe Reader通过Reader插件显示PDF。虽然如果PDF尚未在查看器中打开,PDF打开参数将起作用,但当您只是将它们附加到同一源时,它们就不会起作用。 Reader知道文件已经打开并忽略了打开的参数。您需要先将data属性设置为空,然后返回带有参数的URL以使其工作。

For Edge ...放弃。它不会解释开放参数。