Clicking either the dark area around the iframe or the x at the top right corner closes the lightbox. The same way it works for default image lightboxes.
Settings
There’s only one setting. You add the domains that you want to have this functionality on there.
Correct, this component will not mess with any whitelisting settings at all.
In order for any iframe to show up in the cooked content of a post - expandable or not - it has to be on the list of allowed_iframes setting like you pointed out.
@Johani is this component still functional? If so, any thoughts on why I am not getting the pop-out diagonal-arrows in the upper-right, but rather a blank/dead box?
Here is what I’ve tried:
Updated themes/components.
Made sure src links were white-listed in the component and the Discourse settings.
Tried a few different links, including Google Maps.
Tried several scenarios with the Media Overlay on/off + Lightbox alone on/off.
thank you very much for conceiving and maintaining this theme component.
After installing it on https://community.hiveeyes.org/ the other day, some users recently started to complain that the overall appearance of the head of the page looked different for them. They finally found out the reason was that they blocked cloudflare altogether, so all requests to https://cdnjs.cloudflare.com/ajax/libs/featherlight/1.7.13/featherlight.min.js would fail.
So, we are humbly asking if there would be a way for you to provide this component in a self-contained variant?
Мне не известно о существовании компонентов, которые делают это, поэтому вам придется создать свой собственный или заказать такую работу в категории Marketplace.
Этот компонент темы проверяет теги iFrame в сообщении и сравнивает их атрибут src со списком допустимых источников, предоставленным администратором в настройках компонента. Если домен источника совпадает, добавляется кнопка лайтбокса. Отображение лайтбокса обрабатывается библиотекой featherlight.js. Featherlight отслеживает клики по элементам с атрибутом data-featherlight. Если один из таких элементов был нажат, открывается лайтбокс с содержимым этого iFrame.
То же самое можно сделать с тегами <a> в другом компоненте, приложив немного усилий. Если href ссылки совпадает с доменом, указанным в настройках компонента, она открывается в лайтбоксе внутри iFrame. В противном случае ссылка остается обычной. Вы же не хотите, чтобы все ссылки открывались в лайтбоксовом iFrame.
Большая часть необходимой работы уже реализована в этом компоненте, поэтому вы можете просто сделать форк и начать с него. В планы по добавлению этой функции в данный компонент не входит, так как он предназначен только для обработки тегов iFrame в сообщениях.
Этот компонент всё ещё работает? Раньше он у меня работал, но по какой-то причине перестал. Похоже, последнее обновление было 3 года назад: hnb-ku/discourse-iframe-lightboxes (github.com). Разумно предположить, что что-то сломалось?
Не получается заставить это работать. Я следовал руководству буквально и добавил домен как в компонент темы, так и в настройку сайта. Вот что я получаю:
В консоли ошибок нет.
Я использую это с предпросмотром PDF: Inline PDF Previews - #116 by Alon1
Ожидаю, что над PDF появятся стрелки для разворачивания
Оба TC используют один и тот же API для оформления поста, поэтому порядок их установки имеет значение. Кроме того, источник iframe устанавливается динамически после загрузки PDF-файла и может быть недоступен сразу в этом TC IFrame Lightboxes.
Внесённые мной изменения сводятся к следующему:
Поиск элементов iframe в следующем цикле выполнения, чтобы гарантировать их доступность
Ожидание загрузки iframe для получения URL источника