Может ли кто-нибудь, кто использует этот компонент вместе с лайтбоксами iframe, подтвердить, что над предпросмотром PDF-файла всё ещё отображаются «стрелки для разворачивания на весь экран»?
Мы используем этот TC на нашем сайте и находим его очень полезным. Сегодня я создал и опубликовал тему, включающую PDF-файл, и это привело к такому чудовищному результату: встроенный PDF, который можно полностью просматривать через превью ссылки.
Можно ли включить это для отдельных категорий? Я создаю тему со списком множества файлов, и неудобно, что PDF-файл разворачивается автоматически. Меня устроит даже ручной способ отключить это, например, вставка специального символа.
Вам достаточно вставить пробел перед именем файла в ссылке на PDF, и всё заработает. Это не очень хорошо задокументировано (я только что исправил это), но мне удалось добавить это в TC по той же причине некоторое время назад.
Мне больше нравилось бы, если бы это делалось так же, как с Oneboxes — то есть пробел в markdown перед ссылкой, но и этот вариант работает вполне хорошо.
Я только что добавил это в «внутренний хост»… без улучшений.
Спасибо за ваш совет
В противном случае я просто обнаружил это сообщение об ошибке в консоли Chrome:
initialize-for-pdf-preview.js:84 Отказано во встраивании ‘blob:https://forums.ffjdr.org/79cf20bf-65ac-460f-b0b0-73c10bf85890’, так как это нарушает следующую директиву политики безопасности контента: “default-src ‘self’ data: https:”. Обратите внимание, что ‘frame-src’ не был явно установлен, поэтому в качестве резервного варианта используется ‘default-src’.
Я только что установил этот компонент. Вот шаги, которые я предпринял для его установки. Моя среда: S3 (Digital Ocean Spaces) и CDN (Bunny.net).
Использование панели разработчика в Chrome (F12) значительно поможет в настройке. Перейдите на вкладку «Network» (Сеть), чтобы проверить, блокируются ли PDF-файлы из-за CORS.
Настройка Digital Ocean
Перейдите в настройки Spaces (Spaces Settings) и нажмите «Add CORS Configurations» (Добавить конфигурации CORS).
Настройки:
Origin: Ваш URL Discourse — используйте полный https://discourse.url
Allowed Methods: GET и HEAD
Добавьте следующие заголовки:
Access-Control-Allow-Methods
Access-Control-Allow-Origin
Origin
Range
Access Control Max Age: 0
Я получил уведомление об устаревании для этого отличного компонента темы в консоли разработчика браузера:
[THEME 30 ‘Предварительный просмотр PDF’] Уведомление об устаревании: Доступ к site.mobileView или site.desktopView во время инициализации сайта может привести к ошибкам и несоответствиям при изменении размера окна браузера. Пожалуйста, перенесите эти проверки в компонент, трансформер или обратный вызов API, который выполняется во время рендеринга страницы. [устарело с версии Discourse 3.5.0.beta9-dev] [id устаревания: discourse.static-viewport-initialization] [информация: Designing for Different Devices (Viewport Size, Touch/Hover, etc.)]
Я устранил указанное выше уведомление об устаревании в своём PR в этой просьбе о добавлении функции, которая улучшает поведение ссылок на PDF-файлы, чтобы они всегда открывались в новой вкладке — это решает несколько проблем, поднятых в теме.
По сути, это означает, что на мобильных устройствах теперь есть доступ к содержимому PDF в одно нажатие (ранее требовалось несколько нажатий, ожидание и т. д.), а также в настольных версиях, когда это необходимо.
Чуть не по правилам совмещать исправление и новую функцию, но мне нужно было изменить определение мобильных устройств, чтобы изменить поведение.