Tornado では、 などの HTML で if ステートメントを実行できます{% if true %} do stuff {% end %}
。ページが iframe 内にあるかどうかを確認したいと思います。
Javascript では、次のようになります。if (top === self) { not in a frame } else { in a frame }
Tornado でこれを行うにはどうすればよいですか?
Javascript はブラウザ コンテキストにアクセスできますが、テンプレート システムはリクエスト オブジェクトにしかアクセスできません。
問題の iframe の作成を制御する場合、たとえば、それがサイトの別の部分で発生している場合、テンプレート システムなどに get パラメータを渡すことができる場合があります...しかし、一般的にこれはあなたが持っているものですジャバスクリプトと関係があります。テンプレートに JavaScript を直接追加するか、(より良い) JavaScript ファイルを含めます。テンプレートでページの iframe バージョンと非 iframe バージョンの両方を公開し、ブラウザーにヒットしたときにどちらを表示するかを JavaScript に選択させることができます。