Stripe からレンダリングされる iframe (Discourse Subscriptions plugin) が、印刷レイアウトの下部に空白ページをレンダリングする原因となっています。iframe は要素に直接 display: block !important でハードコーディングされているため、スタイルを意味のある方法で上書きできません。
これを回避するために、このルートが読み込まれたときに iframe を削除しようとしました。これは機能しませんでした。Stripe スクリプトはしばらくすると iframe を再追加するだけです。
次の 3 つの可能な解決策が有効です。
- 読み込まれる前に Stripe スクリプトを削除できるかもしれません。
- サブスクリプション コードをフォークして、Stripe を読み込むページのブラックリスト(またはホワイトリスト)を持つ管理者設定を追加できます。
- 私の
/printルートのサイトレイアウトを継承するのは、実際には理想的な状況ではありません。オプトアウトしたり、独自のレイアウトを設定したりする方法はありますか?
3 は複数の問題を解決し、印刷レイアウトを妨げる可能性のある将来の事柄に対して最も将来性がある可能性があります。しかし、レイアウトを変更すると Stripe スクリプトが無効になるかどうかはわかりません。
プラグインは plugin.rb で Stripe を読み込んでいます。
元々、この質問をここでしました。