Как заставить браузер просматривать PDF-файлы в браузере, а не загружать их?

Как заставить браузер просматривать PDF-файлы в браузере, а не загружать их?

В какой-то момент (думаю, совсем недавно, но я не уверен),Природаначал заставлять браузер загружать файлы PDF для документов, вместо того, чтобы открывать их в браузере. Как заставить браузер прекратить это поведение и открывать ссылки PDF в браузере?

решение1

Очевидно, существует несколько способов, с помощью которых веб-сайт может попытаться заставить ваш веб-браузер загрузить указанный файл вместо того, чтобы открыть его в окне. Один из способов, с помощью которого это может произойти (отправка атрибута Content-Disposition: attachmentвместо inlinehttp-заголовка ответа), уже был обработан вэта тема.

В настоящее время Nature включает downloadатрибут в aтег ссылки, который ведет к pdf. Это можно диагностировать (в Google Chrome), щелкнув правой кнопкой мыши ссылку и посмотрев на сам тег в средстве просмотра элементов:

Это можно исправить, используя подходящий пользовательский скрипт для удаления этого атрибута с помощью менеджера пользовательских скриптов, напримерTampermonkeyдля Google Chrome илиГрязная обезьянадля 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');
}

Связанный контент