Program
自分がiframeの親か子かを判別する方法
こんばんは、夜ご飯たべすぎで胃もたれしているころすけ(@wg_koro)です。
久々にGreasemonkeyを書いていた時のこと。
画面に小さなウィンドウ(div)を追加する処理を書いたんです。そしたら画面のあちこちにニョコニョコウィンドウが追加される。なんじゃこれ。
どうやらGreasemonkeyは、ページに埋め込まれたiframe内のHTMLに対しても動作してしまうらしい。なのでiframe内のhtmlにdivが追加されちゃった。
なるほど、そういうことか。へーぇ。
んじゃ、自分がiframeの親なのか子なのか判定すればいい。・・・てどうやるんだ?
ちょっと調べてみたら、下記でいいらしい。
1 2 3 4 5 6 7 8 |
if(window == window.parent){ // 自分がiframeの親である場合 alert('吾輩は親である!'); } else{ // 子の場合 alert('吾輩は子なのである・・・'); } |
これでOK!
あまり使うことは無さそうだけど、覚えておいて損はないかな。
2012年11月01日 | Posted in Program | 2 Comments »
関連記事
コメント2件
[…] 自分がiframeの親か子かを判別する方法 | Zafiel […]
ありがとうございます。
jqueryでdocument ready時に、先頭項目にフォーカスをセットする共通関数を使用していたのですが、後から子フレームがあるページができ、フォーカスが子フレームに持ってかれてしまっていました。本情報で判別する事ができ、子フレームにフォーカスを奪われる事がなくなりました。感謝