こんにちは、さち です。
今回は、自分のサイトが
フレーム(iframe)で他サイトに読み込まれるのを防ぐ方法
について書いていきます。
フレームでの読み込みを防ぐ
JavaScript を使って防ぎましょう。記述はたった一行です。
if(top != self) top.location = self.location;
これで、自分のサイトがフレーム経由で他サイトに表示されるのを防ぎ
さらに、自分のサイトを単独で開き直してくれます。
HTML に直接記述する場合は <script> タグで囲みましょう。
例えば、<head> 部分に書く場合はこんな感じ。
<head> <script> if(top != self) top.location = self.location; </script> </head>
JavaScript でやっていること
たった1行の JavaScript は一体何をしているのか?
簡単にどんな動作をしているのか見てみましょう。
例えば、「aaa.com」が <iframe> タグを使い「bbb.com」を表示しています。
「aaa.com」が自作したのは上部の一部だけで
ほぼ「bbb.com」のコンテンツに頼りきった状態です。
ここで、「bbb.com」が先ほどの JavaScript を記述します。
JavaScript にある「top」は <iframe> の親「aaa.com」のことで
「self」は自分自身なので「bbb.com」のことです。
「top」と「self」の URL が一致しない時は
「top」の URL を「self」の URL で置き換えます。
つまり、「bbb.com」がフレーム(iframe)で表示されたら
そのフレームを破棄して単独で「bbb.com」を開き直します。
当然ながら、この方法
閲覧者が JavaScript をオフにしている場合は効きません。
最近は JavaScript がオンでないとまともに見られないサイトも多いので
そういう人は少ない気がしますけどね。
【参考サイト】
→ フレーム内に表示されるのを防ぐ方法 - All About
→ フレームで呼び出されるのを拒否したい - 教えて!goo
コメント