如何强制我的浏览器在浏览器中查看 PDF 文件而不是下载它们?

如何强制我的浏览器在浏览器中查看 PDF 文件而不是下载它们?

在某个时候(我想是最近,但我不确定),自然开始强制浏览器下载论文的 PDF 文件,而不是在浏览器中打开它们。我如何才能强制浏览器停止此行为并在浏览器中打开 PDF 链接?

答案1

显然,网站可以通过多种方式尝试强制您的 Web 浏览器下载给定文件,而不是在窗口中打开它。其中一种可能发生这种情况的方式(发送属性,Content-Disposition: attachment而不是inline在响应的 http 标头中发送)已在此主题

Nature 目前正在做的是在指向 pdf 的链接标签中包含一个download属性。可以通过右键单击链接并在元素查看器中查看标签本身来诊断(在 Google Chrome 中):a

可以通过使用合适的用户脚本来解决这个问题,使用类似这样的用户脚本管理器删除此属性坦普猴对于 Google Chrome 或GreaseMonkey适用于 Firefox。

这是一个简单的用户脚本,可以完成以下任务:

// ==UserScript==
// @name     View Nature pdfs in-browser
// @include  https://www.nature.com/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
// ==/UserScript==

/*--- Use the jQuery contains selector to find content to remove.
    Beware that not all whitespace is as it appears.
*/

var allLinks, thisLink;
allLinks = document.evaluate(
    '//a[@download]',
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);
for (var i = 0; i < allLinks.snapshotLength; i++) {
    thisLink = allLinks.snapshotItem(i);
    thisLink.removeAttribute('download');
}

相关内容