Хотя это функционально, для наиболее частого сценария использования — «Я хочу прочитать это прямо сейчас» — особенно на мобильных устройствах, это добавляет несколько лишних шагов.
Необходимость загрузки или сохранения чего-либо является второстепенной. Это требуется иногда, но обычно пользователь просто хочет прочитать файл и продолжить работу.
Тема Inline PDF Previews решает эту проблему, предоставляя встроенный просмотр PDF на настольных компьютерах, и делает это блестяще. Однако она не охватывает следующие распространённые ситуации:
PDF-файлы на мобильных устройствах
Несколько PDF-файлов (из-за визуального шума)
Просмотр PDF-файлов в отдельной вкладке браузера
Стоит отметить, что существуют и другие способы загрузки PDF-файлов. Их можно скачать по прямой ссылке (через правую кнопку мыши / контекстное меню) или из встроенного в браузер просмотрщика PDF, который предоставляет эта тема.
Предложение: по умолчанию открывать PDF-файлы в браузере
Это небольшое изменение изящно решает обе ситуации и просто использует стандартное поведение для других ссылок в Discourse. Таким образом, с предлагаемым изменением:
Ссылки на PDF на мобильных устройствах обычно открываются в том же окне браузера
— позволяет просматривать одним касанием
Ссылки на PDF на настольных компьютерах (т. е. выше встроенного PDF) открываются в новой вкладке
— это позволяет просматривать в полной вкладке одним кликом
При намеренном отключении встроенного поведения (путём добавления пробела в тексте ссылки)
— позволяет просматривать одним кликом
Здесь, на meta.discourse.org, моя ссылка выше открывается в той же вкладке, что и эта страница (точно так же, как вы описываете). В режиме safe-mode это не изменилось.
Однако на трёх моих недавно обновлённых сайтах (с отключённым TC) происходит попытка загрузки. Это также наблюдается в режиме safe-mode. Я не понимаю, почему так происходит. Я не вижу никаких настроек сайта, которые могли бы это регулировать.
Как бы то ни было, мой форк отлично решает эту проблему для моих сайтов!
Это для меня совершенно не имеет смысла!!
У нас есть версия в разработке. Надеемся, что сможем выпустить её в ближайшие пару недель. Это немного сложно, так как необходимо проверить множество различных сценариев (локальные загрузки, S3, совместимые с S3 решения, с CDN, без CDN и т. д.).
Только что проверил PDF-файл, который загрузил сегодня в тему на недавно обновлённом сайте: при клике на ссылку PDF он открывается в браузере по URL с CDN, на всякий случай.
Теперь у нас есть централизованная логика для определения, какие файлы должны отображаться «встроенно». Это означает, что PDF-файлы всегда отображаются встроенно, а некоторые менее безопасные типы файлов всегда предоставляются для загрузки. Эти изменения должны работать со всеми типами хранилищ для загрузки (локальное и S3, с CDN или без).
Дэвид, я только что протестировал это — и хотя на десктопе проблема, похоже, решена, на мобильном устройстве ситуация иная.
Когда я нажимаю на ссылку PDF на мобильном, начинается загрузка (а мне это не нужно). Мне нужно, чтобы файл открывался прямо в браузере (как на десктопе), независимо от того, установлен ли TC или нет.
А как насчёт файлов mp4? На большинстве сайтов ссылки на mp4-файлы автоматически воспроизводят их в браузере, но в Discourse этого не происходит, что довольно раздражает
После исправления безопасности, о котором говорилось выше, изменений не было. Возможно, дело в кэшировании, особенно если вы впервые выполняли обновление через интерфейс. Если вы сейчас выполнили полную пересборку, это должно было сбросить кэш NGINX. Рад слышать, что теперь всё работает!