Hatena::Groupraru

教えてなでしこ

2010-10-03

[]LDRRSS購読時、レート付けを省略するGreasemonkey書いた 01:06 はてなブックマーク - LDRでRSS購読時、レート付けを省略するGreasemonkey書いた - 教えてなでしこ

欠点

  • レート付けができない。

利点

  • 1クリック省略できる。*1

苦労話

javascript超初心者だったので、かなり遠回りをした。始めはwindow.openで登録画面を開いてあれこれしようと思ったのだけど、いろいろ調べてみると別ドメインの子ウインドウセキュリティ的な問題があってjavascriptで操作できないようだ。

また、登録画面のボタンを自動でクリックするというスクリプトなので、イベントハンドラの勉強をした。onLoadって読み込まれた直前、つまりボタンがブラウザ上に描写される前に実行される*2ようなので、少し頭を使って、appendChildで直接javascriptを埋め込む方法に切り替えた。このやり方だと、ページが読み込まれた後に僕の望んだ動作をしてくれた。

使い方

LDRの公式ブックマークレットと併用する。僕はChrome Keyconfigのgo toでブックマークレットを登録している。

// ==UserScript==
// @name           ldr_clickl_bottom
// @namespace      http://raru.g.hatena.ne.jp/kkk6/
// @include        http://reader.livedoor.com/subscribe/*
// ==/UserScript==
var js = document.createElement("script");
js.type = "text/javascript";
js.text = "onLoad =  document.getElementById('submit_button').click()";
document.body.appendChild(js);

*1:後からレート付けするタイプなので、欠点が気にならない。

*2:きっと僕の理解は間違っている。