Это плагин или компонент?
Мне не удалось добиться желаемого поведения с помощью компонента.
Вы можете понять, что это плагин, посмотрев репозиторий на GitHub. Если там есть файл .rb, значит это плагин ![]()
Я понимаю. Но с iPad и Hub гораздо проще задать вопрос, чем прыгать туда-сюда и затем просматривать GitHub. Однако главная причина не в чистой лени (на этот раз…), а в том, что на iPad заканчивается память, и операционная система закрывает DiscourseHub.
Но, конечно, указание на трюк с .rb в целом более информативный и полезный способ.
Я мог бы довериться @Thoka, когда он в начале сказал, что это плагин, но по какой-то действительно странной причине я не поверил.
Требуется ли компонент темы или работает без него?
Вам не нужна тема. Она работает и без неё. Также нет никаких настроек. После установки каждый PDF-файл будет доступен для чтения прямо в браузере.
Круто, спасибо! И спасибо за создание этого нового плагина. ![]()
![]()
![]()
@thoka Чудесно!!! Огромное спасибо!!!
![]()
Прежде всего хочу сказать, что компонент отлично работает у меня с S3, отображая встроенные превью.
Один из участников нашего форума придерживается крайне осторожного подхода к работе в интернете. Он использует Firefox с изменённой настройкой поведения приложения, чтобы загружать PDF-файлы вместо их отображения в браузере.
Когда он открывает конкретную тему, где ранее был загружен PDF-файл, Firefox автоматически скачивает файл каждый раз. Он технически грамотен, хотя я не могу поручиться за его навыки или опыт, и уже попробовал следующее:
Переопределение CSS на стороне клиента с помощью «iframe.pdf-preview { display: none!important; }» скрывает «превью», но Firefox всё равно загружает файл.
Очевидный ответ — изменить настройку браузера на просмотр файла в Firefox, но не моя дело указывать другим, как поддерживать свой профиль безопасности в интернете, по крайней мере, пока не будет найдено другое решение. Есть какие-либо идеи?
Вы можете создать другую тему, которую пользователь сможет выбрать, и не включать компонент темы в эту тему. Пользователю нужно будет выбрать тему в своём профиле.
Это интересный обходной путь, но, возможно, несколько «выплескивать ребенка вместе с водой из ванны». ![]()
У них есть выбор использовать тему, похожую на Reddit. Почти все, кажется, хотят остаться с привычным. Я буду иметь это в виду.
Вы имеете дело с пользователем, который намеренно ломает ваш сайт, а затем жалуется на это. Если он не хочет встроенных PDF-файлов, то как предоставление ему возможности не использовать их может быть «выплескиванием ребёнка вместе с водой из ванны»?
Он жалуется на повторяющуюся загрузку PDF-файла, которая является следствием его выбора настроек предпочитаемого браузера. Исходя из принципа «нельзя угодить всем людям все время», ему придется с этим смириться.
Ничто из того, что он делает, не сломает сайт для других пользователей. Если он найдет способ заставить что-то работать для себя, я назову это легитимным хаком.
Привет,
Есть ли какие-то новости насчёт новой вкладки?
Спасибо.
Мы используем Discourse send PDF inline для чтения загруженных локально PDF-файлов в браузере.
Привет
Это мой предпросмотр PDF-файла
Вот ошибки консоли:
Блокировка запроса с перекрёстным источником: политика одинакового источника запрещает чтение удалённого ресурса по адресу https://cdn.my_site.com/original/1X/0d281938d3ff2377541704cab6ba1c4408420733.pdf. (Причина: заголовок CORS «Access-Control-Allow-Origin» отсутствует). Код состояния: 200.
Проблема в том, что изображение работает на 100%:
https://cdn.my_site.com/optimized/1X/b8e363026da621558d8c2a8159a4a7671eaf0285_2_1035x685.jpeg
А вот ссылка на PDF с неработающим предпросмотром:
https://my_site.com/uploads/short-url/1So7iQsrmIZKLQ6UGI86B1cOqD9.pdf
Я использую CloudFront в качестве CDN.
Вот настройки S3:
S3 моего сайта
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"http://my_site.com",
"https://my-test-site.site", # мой тестовый сайт использует то же хранилище.
"https://cdn.my_site.com",
"https://URL.cloudfront.net"
],
"ExposeHeaders": [
"Access-Control-Allow-Origin"
]
}
]
Я что-то упускаю здесь…
Посмотрите на настройку администратора CORS origin.
Я добавил cdn.my_site в список разрешённых CORS-источников:
/admin/site_settings/category/all_results?filter=cors origin
Или вы имели в виду что-то другое!
Именно это я и имел в виду. Если это не помогло вам, значит, нужно копать глубже. В этой теме есть обсуждение — поищите его и сообщите нам, как у вас получится! Тогда мы сможем обновить первый пост с решением.
Я всё-таки исправил это, но чуть не свихнулся.
Я многократно «пересобирал приложение» и даже переустановил сам Ubuntu. Не уверен, в чём была проблема. В процессе мне удалось исправить загрузку файлов в AWS S3.
Затем я продолжал пытаться загрузить тот же PDF в ту же тему
, но безрезультатно.
В конце концов я сдался, а позже загрузил PDF в другую тему, и всё заработало.


