honjarake blog

自分用にテキトーにまとめる

greasemonkey 「@include * 」のときのbodyへのタグ追加

iframe中のbodyにも適応されちゃうんだな
というか、iframe中のbodyでも同じ処理が走ってるわけだ
iframeの方だけ実行したくない

思いついた解決方法は

  1. @include、@excludeを指定する
  2. iframe判断してタグ追加を中止、または、追加された後iframe内だけ消す

1.が処理的には簡単だけど、融通が聞かない、どのサイトに限定するか決めるのは面倒

2.iframe判断はまだ調べていない
 iframeの中のタグを後から消すのはDOMの仕様上ややこしそうだ
 jqueryに方法があるようだけど、jqueryの知識が把握できるようになるまで保留

この問題はタグを追加する以外でも起きるけど
そっちも保留だ

追記

これならできそうだ!
Javascriptでiframeとして表示されているか否かを判断する | t87r

if(window!=parent){
    //iframeで埋めこまれた場合の処理
}
else if (window==parent){
    //通常表示された場合の処理
}