Хотя это функционально, для наиболее частого сценария использования — «Я хочу прочитать это прямо сейчас» — особенно на мобильных устройствах, это добавляет несколько лишних шагов.
Необходимость загрузки или сохранения чего-либо является второстепенной. Это требуется иногда, но обычно пользователь просто хочет прочитать файл и продолжить работу.
Тема Inline PDF Previews решает эту проблему, предоставляя встроенный просмотр PDF на настольных компьютерах, и делает это блестяще. Однако она не охватывает следующие распространённые ситуации:
PDF-файлы на мобильных устройствах
Несколько PDF-файлов (из-за визуального шума)
Просмотр PDF-файлов в отдельной вкладке браузера
Стоит отметить, что существуют и другие способы загрузки PDF-файлов. Их можно скачать по прямой ссылке (через правую кнопку мыши / контекстное меню) или из встроенного в браузер просмотрщика PDF, который предоставляет эта тема.
Предложение: по умолчанию открывать PDF-файлы в браузере
Это небольшое изменение изящно решает обе ситуации и просто использует стандартное поведение для других ссылок в Discourse. Таким образом, с предлагаемым изменением:
Ссылки на PDF на мобильных устройствах обычно открываются в том же окне браузера
— позволяет просматривать одним касанием
Ссылки на PDF на настольных компьютерах (т. е. выше встроенного PDF) открываются в новой вкладке
— это позволяет просматривать в полной вкладке одним кликом
При намеренном отключении встроенного поведения (путём добавления пробела в тексте ссылки)
— позволяет просматривать одним кликом
Here in meta.discourse.org, my link above opens in the same tab as this page (just like you describe). This is unchanged in safe-mode.
However, on three of my recently updated sites (with the TC disabled) it attempts a download. This is also the case with safe-mode. I’m not sure why that is. I can’t see any site settings that govern this at all.
Whatever the reason, my fork fixes it for my sites nicely!
We do have a work-in-progress. Hopefully will be able to land it in the next couple of weeks. It’s a little tricky because there are lots of different situations to verify (local uploads, s3, s3-compatible, with cdn, without cdn, etc).
I just checked a PDF that I uploaded to a topic today on a recently updated site and clicking the pdf link opens the PDF url on the CDN in my browser, fwiw
We now have centralised logic to determine which files should be shown ‘inline’. That means that PDFs are consistently shown inline, and some less safe file types are consistently served as downloads. These changes should work on all types of upload storage (local & S3, with or without CDNs).
David, I’ve just tested this - and while this definitely seems fixed on desktop, it doesn’t seem to be the case for mobile.
When I click on a PDF link in mobile, I get download (which I don’t want). I want it opening in the browser directly (i.e. the same as desktop), regardless of whether the TC is installed or not.
No tweaks since the security fix linked above. It could’ve been caching, especially if you did the upgrade via the UI the first time. If you’ve now done a full rebuild, then that will’ve reset the NGINX cache. Glad to hear it’s working now!