我使用的是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?
答案 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 ...放弃。它不会解释开放参数。