如何在不使用 JavaScript 的情况下更改此 Edge PDF 框架行为(Firefox 工作正常)

问题描述 投票:0回答:1

使用这个简单的代码,我期望 1,2,3 打开第 1 页、第 2 页和第 404 页的 PDF。

原始 HTML(在下面的代码片段中)在 Firefox 中以任何顺序都可以完美工作,第 1 页被第 2 页替换,等等。

在 Edge(可能是 Chrome/ium)中,我需要转到 1、3、2,才能显示第 2 页,所以假设这是一些缓存问题/设置?

它是我的本地设置吗?或者这是一个常见问题(有时会看到与外部地址类似的问题)。请参阅我之前对另一个问题的回答https://stackoverflow.com/a/73986937/10802527

注意我有 PDF 设置 重新打开文件时将 PDF 打开到上次查看的位置 关闭

我不想添加 JavaScript,但会考虑页内 CSS 或浏览器用户选择。

<body>
    Click the links (1 2 3). <br/>
    OR regular view, <a href="https://africau.edu/images/default/sample.pdf" target="_blank">pop-up test</a><br/>
    <a href="https://africau.edu/images/default/sample.pdf#page=1" target="if">1</a><br/>
    <a href="https://africau.edu/images/default/sample.pdf#page=2" target="if">2</a><br/>
    <a href="https://africau.edu/images/default/sample.pdf=page=3" target="if">3</a><br/>
 <iframe name="if" width="400" height="400"></iframe>
 </body>

我已经搜索了数十个更改这个或那个缓存设置的选项,甚至在检查器中关闭,加上IExplorer中的那些以及页面中的许多

<head meta>
CSS选项,但除了更改感知地址之外,似乎没有一个起作用。

所以,这可以强制重新下载?,但找不到更好的:

<a href="https://africau.edu/images/default/sample.pdf#page=1&view=FitV" target="if">1</a>a<br/>  
<a href="https://africau.edu/images/default//sample.pdf#page=2&view=FitV" target="if">2</a>b<br/>
microsoft-edge
1个回答
1
投票

我在 Chrome 中进行测试,它的行为与 Edge 相同。我认为这是一个铬问题。看起来像是 iframe 中的缓存问题,浏览器中没有设置可以解决此问题。

作为解决方法,您可以在 pdf url 之后添加一个唯一的查询字符串参数,如下所示:

https://africau.edu/images/default/sample.pdf?v=22222#page=2
。然后浏览器会单独缓存每个pdf版本。您可以参考以下代码:

<body>
    Click the links (1 2 3). <br />
    OR regular view, <a href="https://africau.edu/images/default/sample.pdf" target="_blank">pop-up test</a><br />
    <a href="https://africau.edu/images/default/sample.pdf#page=1" target="if">1</a><br />
    <a href="https://africau.edu/images/default/sample.pdf?v=22222#page=2" target="if">2</a><br />
    <a href="https://africau.edu/images/default/sample.pdf=page=3" target="if">3</a><br />
    <iframe name="if" width="400" height="400"></iframe>
</body>
© www.soinside.com 2019 - 2024. All rights reserved.