Togetterの「続きを読む」ボタンを自動でクリック(したことに)するUserScript
Togetterの「続きを読む」ボタンはVimiumのhit-a-hintに反応しないので、マウスでクリックしないと続きが読めなくて大変です。
というわけでUserScript化。
// ==UserScript== // @match http://togetter.com/li/* // ==/UserScript== (function (element) { if (element !== null) { var event = document.createEvent("MouseEvents"); event.initEvent("click", false, true); element.dispatchEvent(event); } })(document.querySelector(".rich_button[onclick^='tgtr.more']"));
仕組みはそんなに複雑なものではなくて、単純にdocument.querySelectorで「続きを読む」ボタンの要素を取ってきてdispatchEventでクリックイベントを発火させているだけ。
initEventとinitMouseEventとどっちを使うべきなのかよく分からなかったんだけど、initMouseEventは引数も多く色々大変そうだったのでinitEventを使った。
最初、「続きを読む」ボタンの要素を取ってくるのにdocument.querySelector(".rich_button")と書いて動かなくて、「拡張とかUserScriptからだとDOMいじれないのかなー」とか思ってたんだけど、前に作った拡張は普通にいじれてたしそんなことはないだろうと色々調べていたら単にclass=".rich_button"がある要素が「続きを読む」ボダンだけじゃなかったというオチだった。