フレームを使用している場合で子フレームにアクセスがあるとメニューフレームが見れないってことありますよね。
そんなときには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;