在某个时候(我想是最近,但我不确定),自然开始强制浏览器下载论文的 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');
}