Встраиваемый фрейм (iframe), рендеримый Stripe (плагин Discourse Subscriptions), вызывает отображение пустой страницы в нижней части моего макета для печати. Этот iframe жестко задан с атрибутом display: block !important непосредственно в элементе, поэтому я не могу переопределить стили каким-либо осмысленным образом.
Я попытался обойти это, удаляя iframe при загрузке этого маршрута. Это не сработало: скрипт Stripe просто добавляет iframe обратно через некоторое время.
Работают три возможных решения:
- Я мог бы удалить скрипт Stripe до того, как он успеет загрузиться (возможно?).
- Я мог бы форкнуть код подписок и добавить настройку администратора со списком запрещенных (или разрешенных) страниц для загрузки Stripe.
- Для меня действительно не является идеальной ситуацией наследование макета сайта для моего маршрута
/print. Есть ли способ отказаться от него или задать свой собственный макет?
Вариант 3 мог бы решить несколько проблем и быть наиболее надежным на будущее для других элементов, которые могут мешать макету печати. Но я не уверен, приведет ли изменение макета к отключению скрипта Stripe?
Плагин загружает Stripe в файле plugin.rb.
Я изначально задал этот вопрос здесь.