【问题标题】:Always open a Pdf on a given page when button pressed按下按钮时始终在给定页面上打开 Pdf
【发布时间】:2012-03-15 10:36:43
【问题描述】:

以下测试代码是为了提出我的问题而编写的。 第一次运行它并单击按钮,在第一页打开 Pdf。 这是正确的,适用于所有最新的浏览器。

如果我随后将 Pdf 滚动到另一个页面并重新单击该按钮,则 Pdf 仅在第一页上再次使用 Google Chrome 打开。其他浏览器没有任何反应,页面保持不变。

我的问题是,有谁知道如何使用 FF 和 IE 让 Pdf 返回到第一页。

如果有人有任何想法,我非常乐意完全改变我的方法。

非常感谢。

<input type="button" id="getP1" value="Get Page 1" />

<div class="pdf"></div>

<script type="text/javascript">
  $(function () {
    $("#getP1").click(function () {
      var fname = "/PDFFiles/Somefile.pdf#page=1";
      $('div.pdf').replaceWith("<div class='pdf'><iframe src='" + fname + "' height='500px'></iframe></div>");
    });
  });
</script>

【问题讨论】:

    标签: jquery pdf


    【解决方案1】:

    尝试在文件名后添加查询字符串参数。它应该让浏览器认为它是一个新文档并再次加载它。

    <input type="button" id="getP1" value="Get Page 1" />
    
    <div class="pdf"></div>
    
    <script type="text/javascript">
      $(function () {
        $("#getP1").click(function () {
          var ticks = new Date().getTime();
          var fname = "/PDFFiles/Somefile.pdf#page=1";
          $('div.pdf').replaceWith("<div class='pdf'><iframe src='" + fname + "?" + ticks + "' height='500px'></iframe></div>");
        });
      });
    </script>
    

    【讨论】:

    • 您好 jgauffin,非常感谢您的回复。我试过你的建议,但不幸的是它根本没有改变。出于好奇,你有没有亲自尝试过?我想知道问题是否只发生在我的机器上。但是,我并不相信。
    • 不,我没试过。这是一个理论。您在尝试之前删除了#page=1 吗?
    • 恐怕就是以编写简单测试代码为例的问题之一。无需赘述,删除 #page=1 将完全破坏对象,因为实际上页面会根据情况进行更改。也许我应该在我的例子中写#page=36。无论如何,感谢您的帮助jgauffin。我希望有人回答了我的问题这一事实不会推迟任何可能有答案的人,因为这个问题让我发疯了。
    • 它应该添加在查询字符串 IIRC 之后。像这样:Somefile.pdf?theTicksCount#page=1 是一个正确的链接。
    • 我想我可能弄乱了最后一个commet,所以我会尝试再次输入它。 @jgauffin。我尝试了很多方法来实施你的建议。例如。 var fname = "/PDFFiles/1895Magpie07.pdf?ts=" + ticks + "#page=1";但没有任何效果。要明白我的意思,有必要在 FF 或 IE 中实际运行该示例。不过,我很感激你会要求这么多,我再次感谢你提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 2012-08-23
    • 2011-06-03
    • 1970-01-01
    • 2017-07-08
    • 1970-01-01
    相关资源
    最近更新 更多