パソコンQ&A

フレームページで子フレームアクセスの対処法

フレームを使用している場合で子フレームにアクセスがあるとメニューフレームが見れないってことありますよね。
そんなときにはJavaScriptで親ページと表示ページのアドレスが同じなら、親フレームに自動リンクするといいでしょう。

子フレームなのに親フレームとして表示されている
親フレームなのに子フレームとして表示されている

フレームはデザインとしては使わないほうがよいとされていますが、 ページの一部にプログラムでカレンダーを表示するときなど処理に負荷がかかる場合には有用といえます。
会員サイトなど入り口が1つである場合、SEOに関係のない場合などに今でも十分使えるページレイアウト技術です。

設定例
子フレームのheadタグ内に次のJavaScriptを書く
<script type="text/javascript">
<!--//
function FrameLocate() {
  if(window.parent && window.self){
    if(window.parent.location == window.self.location){
      window.parent.location.href="【親フレームのアドレス】";
    }
  }
  return;
}

FrameLocate();
//-->
</script>

単純に書くと下記のようになります。
if (window == top) top.location.HREF = "【親フレームのアドレス】";


逆に親フレームに表示させたいのに子フレームとして表示されている場合は下記のように書きます。
他のサイトの子フレームとして利用されないようにするための対策となります。
if (window != top) top.location.HREF = location.HREF;

このページはリンクフリーです。設定などは自己責任で…
Copy Right kikky

kikky.net