プロが教える店舗&オフィスのセキュリティ対策術

フレーム解除ならわかるのですが、逆に、特定のフレーム(例えば上部のメニュー表示用のフレーム)を target=_topなどと指定してあっても解除させないワザはあるものでしょうか。

#IEだけの機能でもけっこうです。

A 回答 (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と
同じ意味です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!