AutoPagerizeを使って、ページ数の多いサイトを読んでいると、何ページを見ているのかわからなくなる事がある。 各ページの先頭に、AutoPagerizeがヘッダを挿入してくれるが、各ページの文量が多いとヘッダが見えない。 そこで、今見ているページのAutoPagerizeのヘッダを常に表示するUserScriptを作った。 まあ、正確には1ページ目では表示されないんだけど...。
あったらいいなーって思い、作ってみました。機能概要は以下の通りです。 機能 現在閲覧しているページをはてブしている「お気に入りユーザ」を表示する ついでに、自分がはてブしているかも表示する 導入するとこんな感じに、左下にお気に入りユーザのfavicon が表示されます。 メリット なんとなくググったページを「お気に入りユーザ」がはてブしていると分かることで、有益なページを逃しにくくなる 「はてブしようとしたら以前はてブしてた」っていうあの敗北感から脱出できる インストール always_hatebu_favorites.user.js からインストールして下さい。ソースはgithub に置いてあります。 使い方 使うための条件は以下の通りです。 はてブにログインしていること はてブを公開していること お気に入りを公開していること 以下のコマンドが使えます。 update favorites
pixiv_add-bookmark.user.js · GitHubを弄ってて実感した。 DOMツリー構築とE4X jQueryだとjQuery関数にHTML断片を文字列として渡す事でDOMツリーを構築する事が出来る。 で、Greasemonkeyのscriptが動く環境は当然FirefoxなのでE4Xを使う事が出来る。 すると、どうなるか? このリビジョンからコードを引用する。 var $mainTable = $( <table class="gm-pixiv-bookmark-maintable"> <tr> <th>グループ:</th> <td/> </tr> <tr> <th>公開設定:</th> <td> <input type="radio" id="res0" name="restrict" value="0" checked="true" /> <label for="
ごうだまりぽです。作ったモノとか拾った知識とかひねり出した知恵とかをさらしてます。読むと価値観が360度変わること請け合い! << 2008/08/ 1 2 3 4 5 6 7 8 9 10 11 1. 「電話をしないで下さい」という演説 12 1. ストリートビュー、もうちょっと工夫してほしいなぁー。 13 14 1. もっと高精細画像でグリグリしたいよね! 15 1. ナイス節約 16 17 18 19 20 1. 汎用ポップアップ Greasemonkey "PopTip" を作ったよ。 21 22 1. PopTip のパッチをいただきました、超うれしい! 23 24 25 26 27 28 29 30 1. 「この作品、あの作品に似てるよね」には、二種類ある 31 >> ■ [web]汎用ポップアップ Greasemonkey "PopTip" を作ったよ。こんにち
さらにさらにさらに追記:最新版は /lang/javascript/userscripts/autopageloader.user.js – CodeRepos::Share – Trac です さらにさらに追記:addDocumentFilter実装しました。 AutoPagerizeのとは少し違って、contentDocumentを渡しているだけなのでgetElement系が使えたりしていい感じです。 さらに追記:DOMContentLoadedにすると、他のGreasemonkeyスクリプトがiframe内に読み込まれる前に実行されてしまう模様。addDocumentFilterの実装を検討してみます。 追記:id:os0xさんのコメントを見て、実行タイミングをloadからDOMContentLoadedにしてみました。 GoogleImagesではきちんと動いていると思います。 ち
折り畳みの自動化 フィードに全文掲載云々という問題が言われたりしますが、それとは逆に、全文掲載してくれているんだけれど、もの凄く長文かつ大量の更新が行われるような (しかも読みにくかったりする) フィードもあるのではないかと思います。 そんなフィードを、畳んだ状態で表示して読みたいものだけをブラウザを開いて読む、という方法を考えてみました。 おなじみフックです: register_hook("before_printfeed", function(feed) { var link = feed.channel.link; var fold_it = /(?:jp.rubyist.net\/magazine)/; (fold_it.test(link) ? addClass : removeClass)("right_body", "compact"); })これだけです。 ただ、これだと正
AutoPatchWorkがOpera、Chrome、Safariそれぞれの拡張機能として利用できるようになったので、oAutoPagerizeの更新は停止しました。ご了承ください。 id:swdyh氏のAutoPagerize for GreasemonkeyをOperaやSafari,Google Chromeなどで動作するように移植*1しました。 for Opera 必須ファイルは0AutoPagerize.SITEINFO.jsと、oAutoPagerize.jsの2つです。0AutoPagerize.Settings.jsはオプションです。以下説明。 SITEINFO ファイル:0AutoPagerize.SITEINFO.js wedataのSITEINFOをまとめたファイルです。OperaのUserjsはファイル名順に実行されるので、ファイル名を0で始めています。このSITE
XPathの習作。あるページのパラグラフのループを見つけてXPath式で取得するための支援ツール。 http://ldride.googlecode.com/svn/trunk/readme.html ブックマークレットで起動してるので、IEでもSafari2でも動きます。XPath評価には id:amachangのこれつかってます。 ナビゲーションとしては、最初に親となるコンテナエレメントを指定して、その後パラグラフに相当する場所をクリックしてxpathを取得する感じ。 名前はAutoPagerize IDEにちなんで、LDRize IDEに。でもLDRizeはあまり使ったことなかったりして、どれほどほんとに使えるのか分かりませんが。今のところlinkのところは自分で書く必要あり。 ユーザ支援じゃなくて、自動化してる試みは結構あるみたいなんで、そっちの方もおもしろそう。 http://l
詳しい話は Opera のユーザーJavaScript は「.js」か「.user.js」かで実行されるタイミングが違う - m2O - チーム俺等におまかせするとして、結論を書くと。 OperaのUserJSはファイル名をuser.jsではなく、.jsにする DOMContentLoadedにaddEventListenerする 以上で、Greasemonkeyと同じタイミングで実行されます。 通常のonloadとの違いは画像などの読み込み完了を待たずに実行される点で、これが結構大きな違いになることが多々あります。 具体的にはこんな感じ。 // ==UserScript== // @name sample // @namespace http://ss-o.net/ // @include http://ss-o.net/* // @version 0.0 // ==/UserScrip
GreasemonkeyのスクリプトでAutoPagerizeというものがあります。これはgoogleの検索結果のように何ページにもページが別れているときに、次のページを表示するためのリンクを押さなくても自動的に次のページの中身がAjaxで継ぎ足されて表示されるというものです。 オモロ 検索エンジン SAGOOL サグール の検索結果のページがAutoPagerizeとおなじしくみになっていて、検索結果を一番下まで見ると自動でさらに10件が表示されるようになっているので試してみてください。 これが極めて快適で、慣れると次へのリンクを押す生活には戻れません。記事全体は長いのに1ページの文章量が少なくて、次のページへのリンクをやたら押さないといけないニュースサイトなどは当然のように対応されていて、クリックする必要がなくなって、ストレスなく文章に集中できるようになります。対応しているサイトも
変更点 バグ修正 DEBUG_MODEのときにエラーがおきる DEFAULT_STATUS = ’disable’にしたときに表示がでない スクロールしなくて済むときにロードが起きない Microformats対応 Microformatsはyoupyさんからアイデアをもらいました http://subtech.g.hatena.ne.jp/youpy/20070603/p1 AutoPagerizeに必要な情報をページ中のHTMLに埋め込んでおけば、 SITEINFOがなくてもAutoPagerが起動するようになります 埋め込みの形式は以下の通りです link要素またはa要素でrel="next" (複数あった場合は、先に現れるものが選ばれます) classでautopagerize_insert_before (複数あった場合は、先に現れるものが選ばれます) 追記 2008/05/15
Javascript で diff というのはいくつか試された例はあるようですが、まだこれといった決定打は出ていない様子です。 実は diff は見た目ほど軽い処理ではないので、Javascript にやらせるのはこれが結構大変…… diff の計算量は、おおざっぱに言うと比較対象の要素数の二乗に比例し(実際にはそれより小さくすることができるのですが、まあ話のイメージとして)、かつメモリを大量に消費するので、バッチ的な処理に最適化されていない Javascript にはどうしても荷が重いものとなってしまいます。 比較対象の要素数を減らせば当然計算量は減りますが、行単位で比較してもあまり嬉しくない(わざわざ Javascript で処理するということは自然文が対象と思って良いでしょう)。最小の文字単位だとギブアップ。 ということは形態素解析で分かち書きして、単語単位で diff するのが J
GreasemonkeyのスクリプトにGoogleAutoPagerとかなんとかAutoPagerというのがあって、 とても便利なのだけど、こういうのってもっと汎用化できるんじゃないかと考えてみた。 複雑なサイトは別にして、サイトのAutoPager化を考えると、 次のページへのリンク 次のページをどこに差し込むか 次のページどこからどこまでを差し込むか があたりがデータとしてあれば、AutoPagerの仕組みは1つでいいし、 そのデータはJapanizeみたいにWikiとかで管理すれば、 HTMLが変わって動かなくなっても、対応とかしやすいし、 Web2.0ぽく、いろんな人が適当に登録しっててくれれば、 いつのまにかいろんなサイトがAutoPager化されるとかも実現できるんじゃないのかな。 Wikiとか作ったり、データの仕様とか考えるのはすぐできないので、 まず手始めに、いつの間にか動
AutoPagerize 0.0.1 http://swdyh.yu.to/autopagerize.user.js ダブルクリックで起動するので、あとはスクロールするだけです。 ライセンスはGPLです。(GoogleAutoPagerがGPLになっていたから) 昨日までのはGoogle用だったのだけれど、複数サイトの対応できるようにした。 なので@includeは*に変更して、別のスクリプトとしてリリース。 Google以外にもいくつか追加したので、もし昨日までのを使っているレアな人がいたら、 そっちはuninstallしてこっちを使ってみてください。 いまのところ、対応したのはこんな感じ。 Googleの検索 del.icio.us(自分のブックマークとか、ネットワークとか) YahooJapanの検索 ヤフオクの検索(HTMLが指定しにくかったので、わりと適当) 各サイト用のデータは
Notice: This hack doesn't work anymore for a variety of reasons, but I've made a a new and much nicer variant of it for Chrome. Go check it out. LinkBack is a browser extension that will automatically display incoming links for any web page you visit. Linkbacks show up in an overlay window. Here we see what it looks like when browsing this very page -- revealing that at the time of writing, I'm bi
Greasemonkeyスクリプティング TIPS & SAMPLES のサポートページです。 CONTENTS 目次 ただのもくじ。 LINKS 書籍に掲載されているURLの一覧です。 TIPS Part3 - TIPS 掲載のユーザスクリプト一覧です。 SAMPLES Part4 - SAMPLES 掲載のユーザスクリプト一覧です。 正誤表 本書の正誤表です。 misc サンプルPDF Unicodeエスケープツール まだFirefoxを使ったことがない? >> 手に入れる! 特設ユーザスクリプト 本書の発売記念と称して役に立たないユーザスクリプトを大絶賛配布中です。 文字が読みにくくなるスクリプト TheRight.user.js ごわすが好きな人(?)のためのスクリプト GOWASU.user.js
先日公開しました はてなブックマークを拡張するW!ボタンですが、想像していたよりも反響があり驚きました。ありがとうございました。 さて、今回はそのW!ボタンの開発に利用したテクニックの一部と参考文献を紹介します。 W!ボタンの開発には以下が役に立ちました。 JavaScript Shell return文で強制的に制御を返すテクニック The data: URI kitchen Live HTTP Headers Greasemonkey Hacks JavaScript Shell JavaScript Shellを利用することで 正規表現 DOM XPath などを手軽に試行錯誤できる環境が得られます。この中でもXPathの作成をJavaScript Shellで行うのが特に有効だと感じました。というのも、JavaScript Shellはシェルで入力されたJavaScriptのコード
check*pad に現在見ているページ追加するブックマークレットを作成 - check*pad BookmakletBox 2006-11-13 更新 / 2005-11-15 公開 check*padに現在見ているページを追加するブックマークレットのリンクをToDoリストページ右下に表示させます。 ブックマークレットは、作成したToDoリストの詳細ページの右下にボックスとして表示されますので、そのリンクをブックマークレットとして登録してください。(blank)は新規ウィンドウが立ち上がるタイプで、(self)は同じウィンドウで完了するタイプです。 追加されるToDo名は「ページのタイトル + ページのURL」になります。 check*pad で「あとで読むURL」というリストを作って活用してみたところ便利だったので「これはひょっとして需要あるかも」と思い、これを作りました。特にはてなブ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く