The Web Design Group presents:

枠FAQ:枠化の回避


枠化されない方法がありますか?

「枠化されるもの」は、既存の枠設定を使う技術に照会し、誰かの別の文書をその意に反して当該画面に表示します。枠内の文書の一つが TARGET属性のないリンクを使っていると、これは容易に起こります。何故ならリンクの先は当該枠に表示されるからです。

他の人の文書を枠化するのを避けるには、全てのリンクに TARGET="_top"を加え、意図する領域外に文書を導きます。

ある特別な文書は当該枠内にでなくブラウザ全画面で表示すべきだと言うことを特定する方法は、残念ながらありません。唯一の次善策は、サーバーのHTTP応答に Window-Target: _topを送り込むことですが、これはだれでもできるものではありません。

HTML仕様書では、 METAがHTMLではHTTP応答をまねるとなっています。しかし、文書で <META HTTP-EQUIV="Window-target" CONTENT="_top">を挿入しても期待通りに作動しません。

別の試みとして、文書に <BASE TARGET="_top">を使うことですが、これは当該文書の リンク用の初期標的枠だけを特定し、文書自体用ではありません。

訪問者がジャバスクリプトを可能にしているなら、以下のスクリプトで自動的に既存の如何なる枠設定を除去します:

<SCRIPT LANGUAGE=JAVASCRIPT>
<!--
if (top.frames.length!=0)
  top.location=self.document.location;
// -->
</SCRIPT>

代替えは:

<SCRIPT LANGUAGE=JAVASCRIPT>
<!--
function breakOut() {
  if (self != top) 
    window.open("my URL","_top","");
}
// -->
</SCRIPT>
</HEAD>
<BODY onLoad="breakOut()">

目次


Web Design Group
Last updated: 31 Jan 1998
Copyright © 1996 Arnoud "Galactus" Engelfriet.
E-mail: galactus@htmlhelp.com.