ホームページ作成/アクセス制限・認証、サイト内検索

フレーム内に表示されるのを防ぐ方法(2ページ目)

自分のページが他人のページのフレーム内に表示されてしまうと困りますね。他人のHTMLを書き換えなくても、自分のページに1行記述するだけで、自分のページがフレーム内に表示されてしまうのを回避できます。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

フレーム内に表示されるのを防ぐスクリプト

自分のページが誤ってフレーム内に表示されてしまうのを回避する方法として、 ページ自体に「このページはフレーム内部で表示してはいけません」という指示を埋め込む方法があります。 これを使えば、フレーム内部で表示されようとしたときには、強制的にフレームを解除できます。

実現方法はとっても簡単で、次のたった3行を記述するだけです。
(JavaScriptとしては真ん中の1行のみ)

<script type="text/javascript"><!--
   if( self != top ) { top.location = self.location; }
// --></script>

上記の3行を、HTML内に記述するだけで完了です。(4行に見えるかもしれませんが、真ん中の強調文字部分は1行です。)
※記述場所は、HTML内部のどこでも構いませんが、head要素内( <head>~</head> の内側)に記述しておくのが良いでしょう。

このJavaScriptを記述しておくだけで、そのページはフレーム内部には表示されません。 フレーム内部に表示しようとしても、必ずフレームは強制的に解除され、単独で表示されます。
※閲覧者のブラウザで JavaScript機能がOFFに設定されていれば機能しませんので、「絶対」というわけではありませんが。

この方法を使えば、自分のサイト内のページが、他人のフレーム内に表示されてしまうのを防ぐことが可能です。 また、自分のサイト内でも、HTML記述ミスで、フレーム内で表示させたくないページをフレーム内に表示してしまうことも防げます。
「このページは絶対にフレーム内部に表示されてはいやだ!」というページに、お使い下さい。

スクリプトの解説

上記のスクリプトの各部分の意味を簡単に説明しておきます。

■if( self != top )
→ もし自分(self)が最上階層(top)でなかったら
■top.location = self.location
→ 最上階層の位置(top.location)を自分の位置(self.location)に変更

……という意味になります。
自分のページが最も外側のフレームに表示されていなければ(=自分のページが単独で表示されていなければ)、自分のページを最も外側に表示させる(=自分のページを単独で表示させる)、という意味です。

おわりに

今回は、自分のページが誤ってフレーム内部に表示されてしまうのを自動的に防ぐ方法をご紹介致しました。
ぜひ、ご活用下さい。

また、以下の関連記事・リンク集もぜひご参照下さい。

【関連記事】

【編集部おすすめの購入サイト】
Amazonでホームページ作成の参考書をチェック!楽天市場でホームページ作成関連の書籍をチェック!
  • 前のページへ
  • 1
  • 2
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます