- ベストアンサー
フレームを解除させないワザ
フレーム解除ならわかるのですが、逆に、特定のフレーム(例えば上部のメニュー表示用のフレーム)を target=_topなどと指定してあっても解除させないワザはあるものでしょうか。 #IEだけの機能でもけっこうです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
target=_topを別のものに置き換えて良いのだったら方法はあると思います。 フレームの構造を階層的にするのが普通だと思います。 例えば、まずトップのページをメニュー用のフレームとそれ以外の フレームのセットとして定義します。 <FRAMESET ROWS="10%,*"> <FRAME SRC="menu.html" NAME="menu"> <FRAME SRC="cframe.html" NAME="childframe"> </FRAMESET> そしてさらにフレームを子フレームに分割するならcframe.htmlに記述します。 <FRAMESET ROWS="50%,*"> <FRAME SRC="abc.html" NAME="child1"> <FRAME SRC="xyz.html" NAME="child2"> </FRAMESET> そして、例えばabc.htmlで、target=childframeとするとメニュー以外の フレームがそれに置き換わります。abc.htmlとxyz.htmlの区分が 解除されたようになるわけです。 ちなみに、_topは厳密に言うと「分割を解除せよ」という意味ではなくて、 ブラウザウインドウ全体(topフレーム)にページを表示せよ、ということですよね。 解除というより上書きのイメージです。 上記の例で言えば、abc.htmlやxyz.htmlの中でtarget=_parentとしても やはりそれらの親のフレーム(childframe)にページが表示され、 target=childframeと同じ結果となります。 menu.htmlの中でtarget=_parentとすると、そこの親はトップの ことですから、ウインドウ全体が置き換わります。target=_topと 同じ意味です。