Stripe iframe로 인해 인쇄 레이아웃에서 흰 화면이 나타납니다

Stripe에서 렌더링되는 iframe(Discourse Subscriptions 플러그인)이 인쇄 레이아웃 하단에 빈 페이지가 렌더링되도록 하고 있습니다. 해당 iframe 요소에 display: block !important가 하드코딩되어 있어 스타일을 의미 있게 오버라이드할 수 없습니다.

이 문제를 우회하기 위해 해당 라우트가 로드될 때 iframe을 삭제하는 방법을 시도해 보았지만, 이는 효과가 없었습니다. Stripe 스크립트가 잠시 후 iframe을 다시 추가하기 때문입니다.

다음 세 가지 해결책 중 하나가 작동할 것입니다:

  1. Stripe 스크립트가 로드될 기회를 갖기 전에 제거하기(가능할까요?)
  2. 구독 코드를 포크하여 Stripe를 로드할 페이지에 대한 블랙리스트(또는 화이트리스트)를 갖춘 관리자 설정을 추가하기
  3. /print 라우트에서 사이트 레이아웃을 상속하는 것은 제게 이상적인 시나리오가 아닙니다. 이를 해제하거나 자체 레이아웃을 설정하는 방법이 있을까요?

3번은 인쇄 레이아웃에 간섭을 일으킬 수 있는 향후 여러 문제를 해결하고 가장 미래 지향적인 해결책이 될 수 있습니다. 하지만 레이아웃을 변경하면 Stripe 스크립트가 비활성화되는지 확신이 서지 않습니다.

해당 플러그인은 plugin.rb에서 Stripe를 로드하고 있습니다.

저는 원래 여기서 이 질문을 했습니다.

1개의 좋아요