次のページを読み込んで Document 作成した完了直後で、 Document からpageElement を切り出す前であり、「さらに次のページ」の URL 取得前 htmlDoc ( GM_xmlhttpRequest で取得したソースを元に作成した Document オブジェクト), this.requestURL (次のページとして取得した URL ), this.info (使用している SITEINFO )
ホントに「ちゃんと」なのか怪しいけど。Firefox3とOpera9.6で動くのは確認。 http://userscripts.org/scripts/show/37569 ページが継ぎ足されるたびに全エントリの位置を再計算しているので、ページが大きくなると重くなります。。 折角なのでコメントつけてみたり。 // ==UserScript== // @name b.hatena ldrizer // @namespace http://ss-o.net/ // @include http://b.hatena.ne.jp/* // ==/UserScript== // LDRizeより後に実行する必要があるのでsetTimeoutする(ユーザースクリプトの管理で並べ替える必要がなくなる) setTimeout(function(unsafeWindow) { // 実行して問題ないかベタに
以前からある手法から順番に見ていきます。 ページの高さの監視 setIntervalでページの高さを監視して、増えていたらAutoPagerizeが動いたとみなして処理を行う var THRESHOLD = 300; var _height = window.innerHeight; setInterval(function(){ if (window.innerHeight - _height > THRESHOLD) { // 処理 } _height = window.innerHeight; }, 300); メリット AutoPagerizeだけでなく、はてなダイアリー・ブックマーク、Twitterなどでのサイト側でのページの継ぎ足しにも対応できる デメリット THRESHOLDをいくつにするかなど、一概に決められない。タイマーをたくさん回すと重くなる。Floatしている要素を継
(Please use Lite mode if your device has less memory or low processor.) The AutoPager Firefox extension automatically loads the next page of a site inline when you reach the end of the current page for infinite scrolling of content. It includes a adblock similar features to allow you filter out the ads from the contents in the loaded page contents. It works well with most of the greasemonkey scrip
< スペースアルクの検索結果はページ遷移のリンクがJavaScriptになっているため、XPathでどう頑張っても対応できないという話がAutoPagerize Wiki: siteinfo requestにあった。 それならと、AutoPagerizeにインクリメントモードとURLフィルターを追加するプラグインを書いてみた - 0xFFにアルク対応を入れてみました。 http://ss-o.net/userjs/test/autoincrementerplugin.user.js (Minibuffer、AutoPagerize、LDRizeそれぞれの最新版との組み合わせで動作確認しています) カスタムAutoPagerize - 0xFFをどうぞ。 今回はAutoPagerize.addDocumentFilterを使いました。 AutoPagerize.addDocumentFilt
Tumblrが新しくなって、よく見ていた/show/quotes/by/everyoneがちゃんとページングされなくなって悲しいと思っていたらcxxさんがFix Tumblr Dashboard Pagination for Greasemonkeyというスクリプトを書いてくれていました。 しかし21世紀はじめの10年最後の2009年ももう終わろうとしているにも関わらず、未だにTumblr dashboard reblog 4点セットのAutoPagerizeとLDRizeとMiniBufferとreblogCommandの実行される順序をちゃんと覚えておかないといけないなんてローテクすぎる!という怒りにまかせて、順番に関係なく入れておけば動くように細工をしました。 AutoPagerize version 0.0.35~ LDRize version 2009.01.21~ Minibu
AutoPagerize の提供する API に関して。 http://autopagerize.jottit.com/ の一番下に書いてあるんだけど addFilter を使って新規読み込み部分に対する処理を行うらしい。んだけどこれだけじゃ正直よくわからない。 addFilter と addDocumentFilter の違いもパッとしないのでソースを追ってわかったことを以下に書いていく。 とりあえず最初のページを baseDoc と呼ぶことにするとページ追加の処理は以下の感じになってる。 指示された次のページ取得。 取得したページを元に document オブジェクトを作る ( この document オブジェクトを newDoc と呼ぶことにする ) 。 newDoc に対して addDocumentFilter で指定された関数群を適用する。 htmlDoc から SITEINFO
さらに改良版がありますAutoPagerize Hacks: Object.prototype.watch - 0xFF カスタムAutoPagerize - 0xFFをどうぞ すみませんが、当面は修正版のリリースの予定はありません。 Twitterのhomeで11ページに行くとolderへのリンクがなくなっている件について - 0xFFの件で、AutoPagerizeがアップデートされるたびにこっちも更新していて、アレだなぁということで*1 プラグイン(というはおこがましいが)を書いてみた。 http://ss-o.net/userjs/test/autoincrementerplugin.user.js (evalの第2引数を使って、)AutoPagerize#getNextURLを乗っ取ってインクリメントモードを追加したり、URL指定でAutoPagerizeのデフォルト動作を変える
いまさらながら、10/1にmixiのデザインが新しくなったときに、前よりぜんぜんXPathフレンドリーなHTMLになっていたのがうれしくてためしにSITEINFOを書いたけど、コメント欄がpageElementに入っていなかったのでコメントが書けなくなってAutoPagerizeを使われているひとに迷惑をかけた件について。まず迷惑をおかけしてしまってごめんなさい。そして直していただいたotusneさんありがとうございます。 このことについてまとめられているAutoPagerizeでmixi日記のコメント欄が逃げる件 - cameraLadyのこの件を通じて思ったことを読んで思ったことを。 この件を通じて思ったこと 個人的にはSITEINFOは気軽に書くことができて、気軽に使えるほうがよいと思う。 もし気軽にSITEINFOを書くことができないなら、たとえば一度書いてSITEINFOコミッタ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く