iframeで別ページを読み込んでいるとき、
リンクやフォームの送信がiframe内でおこなわれてしまい困ったので、
どうすればいいか調べました。
下記のコードサンプルは、iframe内(読み込まれる側)の記述です。
また、今回の解説に必要最小限のコードで構成しています。
別タブで開くとき
aタグの場合
HTML
1 |
<a href="#" target="_blank" rel="noopener"></a> |
フォームの場合
HTML
1 2 3 4 5 6 |
<form target="_blank"> ・ ・ ・ <input type="submit" value="送信"> </form> |
よく使うやつですね。
iframeとして読み込まれていても、別タブで開きます。
iframeの親ページで開くとき
aタグの場合
HTML
1 |
<a href="#" target="_top" rel="noopener"></a> |
普段target="_blank"
ばかり使っていましたが
他の値の使い道がここにありました。target="_top"
はウインドウ全体に表示する、という値なので
親ページにリンク先が表示されます。
フォームの場合
HTML
1 2 3 4 5 6 |
<form target="_top"> ・ ・ ・ <input type="submit" value="送信"> </form> |
フォームの場合は、form
タグに記述することで動作します。input
タグに書いて『効かない〜〜!』となりがちなので、注意です。
参考
まとめ
調べてみたら、基本的なことでした。
小手先のことにとらわれずに、基本に立ち返ることも必要でした。
コメント