Javascript 在特定页面重复打开PDF。(即使在卷轴之后)

Javascript 在特定页面重复打开PDF。(即使在卷轴之后),javascript,jquery,pdf,Javascript,Jquery,Pdf,一周前我问了一个类似的问题,但也许我没有把问题说清楚 从那以后,我一直在努力寻找有效的方法,但没有成功 使用所有常用浏览器的最新版本,我希望显示在特定页面上打开的PDF 使用Chrome-符合我的要求:-) 按下按钮打开第3页上的PDF。 如果用户将pdf滚动到另一页,然后重新按下按钮,pdf将在第3页再次打开 使用FF、IE或Safari 按下按钮打开第3页上的PDF。 如果用户将pdf滚动到其他页面,然后重新按下按钮,则不会发生任何情况 有人知道我如何使用所有最新浏览器在第3页上始终打开

一周前我问了一个类似的问题,但也许我没有把问题说清楚

从那以后,我一直在努力寻找有效的方法,但没有成功

使用所有常用浏览器的最新版本,我希望显示在特定页面上打开的PDF


使用Chrome-符合我的要求:-)

按下按钮打开第3页上的PDF。 如果用户将pdf滚动到另一页,然后重新按下按钮,pdf将在第3页再次打开

使用FF、IE或Safari

按下按钮打开第3页上的PDF。 如果用户将pdf滚动到其他页面,然后重新按下按钮,则不会发生任何情况


有人知道我如何使用所有最新浏览器在第3页上始终打开页面吗? 我非常乐意完全改变我的方法,包括在必要时使用免费插件

如果有人知道我要做的事情只能在Chrome上完成,那么如果他们能让我知道,我将不胜感激

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Test for SO</title>
  <script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
</head>

<body>
  <input id="test" value="Test" type="button" />
    <br />
  <iframe id="iFrame" width="500" height="600"></iframe>
</body>

</html>

<script type="text/javascript">
  $(function () {
    $("#test").click(function () {
      var fileName = "/PDFFiles/pages.pdf#page=3";
      $('#iFrame').attr("src", fileName);
    });
  });
</script>

测试SO

$(函数(){ $(“#测试”)。单击(函数(){ var fileName=“/PDFFiles/pages.pdf#page=3”; $('#iFrame').attr(“src”,文件名); }); });
我的建议是将iframe src设置为其他值,然后返回正确的文档。我的建议是将iframe src设置为其他值,然后返回正确的文档。仅在短时间内使用。

尝试使用谷歌的文档查看器,如下所示:

<iframe src="http://docs.google.com/gview?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true" style="width:100%; height:500px;" onload="javascript:this.contentWindow.location.hash='#:0.page.4';" frameborder="0"></iframe>
如果需要一个按钮来重新加载iframe,只需更新iframe src(我认为这是最简单的方法,但我可能错了):


尝试使用谷歌的文档查看器,如下所示:

<iframe src="http://docs.google.com/gview?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true" style="width:100%; height:500px;" onload="javascript:this.contentWindow.location.hash='#:0.page.4';" frameborder="0"></iframe>
如果需要一个按钮来重新加载iframe,只需更新iframe src(我认为这是最简单的方法,但我可能错了):


您需要销毁并重新创建iframe节点本身。例如:

<input id="test" value="Test" type="button" />

<br />

<div id="wrapper"> 
 <!-- iframe will be continually destroyed and re-created here --> 
</div>


<script type="text/javascript">
    // Create the initial iframe on page load
    $('<iframe id="iFrame" width="500" height="600" src="/PDFFiles/pages.pdf">').appendTo('#wrapper');

    // Destroy and recreate iframe on button click, starting on your desired page.

    $("#test").click(function () {

     if($('#iFrame').length) { 
       $('#iFrame').remove(); 
     }

     var page = 3;
     $('<iframe id="iFrame" width="500" height="600" src="/PDFFiles/pages.pdf#page='+page+'">').appendTo('#wrapper');

    });

</script>​​​​​​​


//在页面加载时创建初始iframe $(“”).appendTo(“#wrapper”); //从所需页面开始,单击按钮销毁并重新创建iframe。 $(“#测试”)。单击(函数(){ if($('#iFrame').length){ $('#iFrame')。删除(); } var-page=3; $(“”).appendTo(“#wrapper”); }); ​​​​​​​

注意:会有一段时间PDF会再次加载到第一页,但您可以将其隐藏在ajax加载球下1-2秒,然后当您使其可见时,它将跳转到所需的页面

您需要销毁并重新创建iframe节点本身。例如:

<input id="test" value="Test" type="button" />

<br />

<div id="wrapper"> 
 <!-- iframe will be continually destroyed and re-created here --> 
</div>


<script type="text/javascript">
    // Create the initial iframe on page load
    $('<iframe id="iFrame" width="500" height="600" src="/PDFFiles/pages.pdf">').appendTo('#wrapper');

    // Destroy and recreate iframe on button click, starting on your desired page.

    $("#test").click(function () {

     if($('#iFrame').length) { 
       $('#iFrame').remove(); 
     }

     var page = 3;
     $('<iframe id="iFrame" width="500" height="600" src="/PDFFiles/pages.pdf#page='+page+'">').appendTo('#wrapper');

    });

</script>​​​​​​​


//在页面加载时创建初始iframe $(“”).appendTo(“#wrapper”); //从所需页面开始,单击按钮销毁并重新创建iframe。 $(“#测试”)。单击(函数(){ if($('#iFrame').length){ $('#iFrame')。删除(); } var-page=3; $(“”).appendTo(“#wrapper”); }); ​​​​​​​

注意:会有一段时间PDF会再次加载到第一页,但您可以将其隐藏在ajax加载球下1-2秒,然后当您使其可见时,它将跳转到所需的页面

这适用于Chrome

<A HREF="http://www.example.com/myfile.pdf#page=4">

要在所有浏览器中使用此功能,必须对PDF进行编码以打开特定页面。
这可以使用AdobeAcrobat完成。

这对Chrome有效

<A HREF="http://www.example.com/myfile.pdf#page=4">

要在所有浏览器中使用此功能,必须对PDF进行编码以打开特定页面。
这可以使用Adobe Acrobat完成。

也许您可以参考其他问题。或者你可以编辑你的另一个问题来让它更清楚?你是说人们会注意到我编辑了我的问题吗?我不知道,我将来会这么做。谢谢你提供的信息。根据我过去的经验,人们有时会做出猜测或是一些毫无帮助的回答,比如“你为什么要那样做”,然后就没有其他人来打扰了。你能帮我解决我的问题吗?我认为只有AdobePDF插件支持页面参数<代码>a href=“3在sample_doc.pdf/a中,您还可以对文档执行pdf操作,以便打开特定页面。我已经用我们的产品PDFOne.NET演示了如何执行此操作,但您可以使用任何其他工具添加PDF操作。@PeteDavies请选择最佳答案。也许您可以参考其他问题。或者你可以编辑你的另一个问题来让它更清楚?你是说人们会注意到我编辑了我的问题吗?我不知道,我将来会这么做。谢谢你提供的信息。根据我过去的经验,人们有时会做出猜测或是一些毫无帮助的回答,比如“你为什么要那样做”,然后就没有其他人来打扰了。你能帮我解决我的问题吗?我认为只有AdobePDF插件支持页面参数<代码>a href=“3在sample_doc.pdf/a中,您还可以对文档执行pdf操作,以便打开特定页面。我已经用我们的产品PDFOne.NET演示了如何执行此操作,但您可以使用任何其他工具添加PDF操作。@PeteDavies请选择最佳答案。谢谢Martin。我刚试过你的建议,但恐怕不行。我相信这个问题不是一个简单的问题,但肯定有答案。马丁:你必须销毁并重新创建整个iframedom节点。看看我的答案:谢谢马丁。我刚试过你的建议,但恐怕不行。我相信这个问题不是一个简单的问题,但肯定有答案。马丁:你必须销毁并重新创建整个iframedom节点。看我的回答:非常感谢你,福吉。我感谢你的建议。我可能需要一段时间来设置它,所以我将在明天的工作中进行设置。很明显,我会报告我的进展,但我肯定是bo