在某個時候(我想是最近,但我不確定),自然開始強制瀏覽器下載論文的 PDF 文件,而不是在瀏覽器中開啟它們。如何強制瀏覽器停止此行為,並在瀏覽器中開啟 PDF 連結?
答案1
顯然,網站可以透過多種方式嘗試強制您的網頁瀏覽器下載給定文件,而不是在視窗中開啟它。發生這種情況的一種方法(發送屬性Content-Disposition: attachment
而不是inline
在回應的 http 標頭中)已在這個線程。
Nature 目前正在做的是在指向 pdf 的連結標籤中包含一個download
屬性。a
可以透過右鍵點擊連結並在元素檢視器中查看標籤本身來診斷(在 Google Chrome 中):
可以透過使用合適的使用者腳本來修復此問題,並使用使用者腳本管理器(如搗固猴對於谷歌瀏覽器或油猴對於火狐瀏覽器。
這是一個簡單的使用者腳本,可以做到這一點:
// ==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');
}