かなり人気のある音楽小売業者で使用されるツールを作成しました。
このツールは強化された検索機能 (透過的な last.fm の結果、広告なし、不自由さ、気味の悪いものなし) を提供します。検索を表示する最も便利で目立たない方法は、悪意のある iframe を使用したツールバーです。これにより、ユーザーはユーザーのフォーカスを奪うことなく検索を読み込むことができます。
iframe が特に好きというわけではないので、「このフレームを閉じる」(Google 画像検索) リンクを追加して、ユーザーがブラウザーをすばやく簡単に制御できるようにするのは簡単なことだと思いました。
ただし、Googleとは異なり、iframe内のコンテンツの場所がわかりません(src経由で開始した場所のみ)。
だから今、私は XSS の世界とすべてのセキュリティ関連の懸念事項に自分自身を見つけました。
Javascript を使用して、親のリンクから呼び出される履歴オブジェクトに「戻る」ボタンと「進む」ボタンを追加しました (ユーザーが検索を行うと、結果が iframe に読み込まれるため、戻るボタンを使用するとプライマリに戻ることができます検索結果を使用/熟読した後のサイト)。
iframe 内の現在の場所を呼び出して、その場所にページ (現在はフレームなし) をリロードする方法はありますか?
PHP の $GLOBAL/$_SERVER 変数をチェックして、幸運に恵まれるかどうかを確認しました。セキュリティ上の懸念があることは理解していますが、この特定の関数が、親フレームに「通知」せずにブラウザ自体が呼び出しを行う history.back() とどう違うのかわかりません。
iframe 自体から src の場所を取得できることはわかっていますが、もちろん、それはユーザーがこのページを超えて移動しないことを前提としています。ユーザーが移動した場合、現在の場所を失い、最初に呼び出されたページにリダイレクトされることを気にしません。フレーム(...ああ...)。
フレームはウィンドウを盗むように設計されており、ユーザー セッションの整合性を適切に「解除」して維持する手段がないように思われます。
人々が彼らを嫌うのも不思議ではありません。:)