« 阪急ブレーブス | トップページ | ユザワヤ »

2015年4月17日 (金)

Tampermonkey と jQuery

元々 Firefox を使ってたけど、Chrome の方が良くなってきて、でも Firefox 使ってるのは Greasemonkey が動くからだったんだけど、Chrome にも Tampermonkey ってのがあるから、だんだんそっちに寄りつつある。
Tampermonkey - Chrome ウェブストア

ちょっとした自動ログイン的なのとか、テレビ番組表からHDRに予約メール飛ばすとか、よく見るサイトのうざい広告消したりレイアウト変えて読みやすくしたりとか、色々便利なのですがね。

で、今日はとあるツールを Tampermonkey で書いていて Greasemonkey と違う気がするなぁと思ったので備忘録。そこそこ面倒だったので。きちんとテストページとテストスクリプト書いて調査したわけではない。

最初にハマったのが、Tampermonkey はレンダリング後のDOMというかHTMLというかを相手にするらしいこと。div に style:none とかすると Tampermonkey では見えないのでアクセス出来ないという事案が発生した。これ結構ハマって色々やってみたけど結局どうしようもなかった。Greasemonkey なら間違いなく、読んできたソースのHTMLに対して操作することになると思うんだけど。

んでまぁ、ボタンを押すと上記の隠されてる div が出てくる仕掛けになっていたので、そのボタンに $('.button').click(); とか $('button').trigger('click'); とかしても何も起こらない。もちろんマウスでクリックすれば開くのだけど。
こういうもんなのかな、と思ったんだけど、下記で動いた。

var clickEvent  = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
this.dispatchEvent (clickEvent);

jQuery では何故か上手く行かないらしい。最後の this は $(this) ではないぞ。jQuery オブジェクトでは無く、飽くまで基本のエレメントとして扱わなきゃいけないのでね。

他にもダッシュボード自体が不安定だったりするので、Tampermonkey はもう少しってところかなぁ。

|

« 阪急ブレーブス | トップページ | ユザワヤ »

てっく」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/232324/59675945

この記事へのトラックバック一覧です: Tampermonkey と jQuery:

« 阪急ブレーブス | トップページ | ユザワヤ »