如何強制瀏覽器在瀏覽器中查看 PDF 文件而不是下載它們?

如何強制瀏覽器在瀏覽器中查看 PDF 文件而不是下載它們?

在某個時候(我想是最近,但我不確定),自然開始強制瀏覽器下載論文的 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');
}

相關內容