ブラウザウィンドウがトップウィンドウであるかどうかを検出するColdFusionの機能はありますか?(JavaScriptの)と同様(if (window == window.top)
)
私が尋ねる理由は、ユーザーがページに直接アクセスするときに特定のページ要素を表示し、ページがiframedの場合は表示しないようにするためです。
ブラウザウィンドウがトップウィンドウであるかどうかを検出するColdFusionの機能はありますか?(JavaScriptの)と同様(if (window == window.top)
)
私が尋ねる理由は、ユーザーがページに直接アクセスするときに特定のページ要素を表示し、ページがiframedの場合は表示しないようにするためです。
CFML コードは CF サーバー上で実行されますが、ブラウザー ウィンドウに関する考慮事項は、明らかにクライアント上で実行されます。CF はクライアント システムの UI 構成をまったく認識せず、「要求」のみを認識します。実際、リクエストはクライアントからではなく、CF サービスのリクエストの仲介者として機能する Web サーバーから送信されます。CF はクライアント自体と対話しません。
Web サーバーが CF に提供する、何らかの形でクライアント ブラウザーに関連する唯一の情報は、CGI スコープ内のものの一部であり、明らかに制限されています。また、ブラウザ ウィンドウや iframe の構成とは関係ありません。
これを Javascript で解決する必要があります (質問のタグに追加します)。
特定のブラウジング状況に応じて異なるコードを CF で実行するには、Javascript を使用してリクエストに情報を追加し、状況を CF に通知する必要があります。これは、クエリ文字列にパラメーターを追加するか、そのようなものである可能性があります。
誰かが私の製品の 1 つを「ラッピング」している場合、ユーザーとサイト所有者のエクスペリエンスを改善できるように、誰がどのようにラッピングしたかを知りたいと思います。それを念頭に置いて、デフォルトでフレームから自動的に抜け出します。次に、単純な API を作成し、コンテンツを含める適切な方法について他のウェブマスターに指示を出します。コンテンツが適切に別のサイトに含まれているかどうかを判断したら、別のコンテンツを表示します。あなたのコンテンツを含めたいウェブマスターの場合:
url.remoteSiteAddress のような URL 変数の値を探して記録するという単純なものから、サイトを登録して一意のキーを提供するという複雑なものまで、さまざまな方法があります。もちろん、キーを適用するために考慮すべき考慮事項は他にもあります。コンテンツがリモート サイトに表示されていることをあまり気にしていないので、単純な url 変数を記録するだけで速度が上がるのではないかと思います。
別の Web サイトが自分のページをその Web サイトの iframe に配置している場合、CGI.HTTP_REFERRER
変数を使用して Web サイト ドメインが自分のものかどうかを確認し、必要に応じてコンテンツを読み込むことができます。