【献血デビュー】体重が少し足りず400ml献血はできなくとも、献血ルームでの成分献血ならできたぞ、という話 いきさつ 2025年の抱負として「400ml献血をできるようになる」を掲げてから、冬を越し春が過ぎ夏が終わ………なかなか終わらないな……8月も終わろうとしている。記事を書いた頃の体重からは1kgぐらい増えたところだ。 夏バテなんてどこ吹く風とばかりに、ここ数週間は私の…
今日いきなり更新が来てうきうきだったのですが、結構主だった変更があります。そこで、個人的に気になった。 「新しく追加された機能」 についてご紹介。 response.finalUrl GM_xmlhttpRequestでonloadに渡されるresponseオブジェクトにfinalUrlプロパティがつきました。 これはリダイレクトなどをされてしまったときに最後に行き着いたURLを格納しています。 使おうと思ったらこんな感じで使えます。 Expand TinyURL for Greasemonkey // ==UserScript== // @name Expand TinyURL // @namespace http://d.hatena.ne.jp/Constellation/ // @description show tooltip on TinyURL and replace hre
function Class() function () { if (typeof this.initalize == "function") return this.initalize.apply(this, arguments); } function extend(base, ext) { for (var prop in ext) if (ext.hasOwnProperty(prop)) { var g = ext.__lookupGetter__(prop), s = ext.__lookupSetter__(prop); if (g) base.__defineGetter__(prop, g); else if (s) base.__defineSetter__(prop, s); else base[prop] = ext[prop]; } return base; }
さらに改良版があります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のデフォルト動作を変える
ニコニコ動画で、複数の動画を並べて同時に鑑賞するためのぐりもんを作ってみました。 動作が不安定すぎて泣きそうです。もう少しがんばりたいです。 スクリーンショット こんな感じになります。 リズム天国 Hot knows... ダウンロード http://svn.coderepos.org/share/lang/javascript/userscripts/niconico_multi.user.js 使い方 残念なことに、どんなにがんばってもGoogle Chrome以外では動作しませんでした。 Google Chrome と Greasemetal をインストールして、上のniconico_multi.user.jsファイルをマイドキュメントの「userjs」フォルダに保存してください。 Greasemetalを起動して、URL欄に「http://www.nicovideo.jp/mult
JS の XPath なんて書きましたけど、重大なバグがありまして、っていうかなんで気がつかなかったんだろう、えーそれは application/xhtml+xml なページ、すなわち XML として、名前空間をちゃんと扱うページではまともにセレクトできないんですよーははははー、例えばこのサイトとかね。 $X = function (exp, context) { if (!context) context = document; var resolver = function (prefix) { var o = document.createNSResolver(context)(prefix); return o ? o : (document.contentType == "text/html") ? "" : "http://www.w3.org/1999/xhtml"; } v
20080406 21:50 キーコードについての説明を追記しました。 Greasemonkeyを使ってる人ならたいていの人が知ってるMinibufferとLDRize(偏見?) ただ、なんというかMinibufferについての説明がMinibuffer 2007.11.15 の変更点 | 3.14とsilog - script/LDRizeの記事くらいしかなく、半ばソース読んで書け状態になってるので結構ハードルが高いのではないかと。 そこで、自分でもDeleteCommand for GreasemonkeyっていうMinibuffer上で動くGreasemonkeyを書いたんだけれど、そのときにわかったこととか、後でMinibuffer用Scriptを書くときの備忘録みたいなのをまとめておく。 これよんでちょっとでもGreasemonkey、またMinibufferに興味持つ人が増えな
GM_xmlhttpRequestはresponseXMLを返してくれない。 DOMを作ってくれない、ということ(作ってくれなくていいんだけど)。 xpathするにはDOMを作る処理が必要になる。 DOMParser使うとか、適当なelementのinnerHTMLに突っ込んだりする。 そのときの処理時間がそれなりにかかるので、正規表現とかでひょいひょいパースするほうが早く終わるケースが多いような気がする。 だけど正規表現だと読みにくくてつかれてしまうので、例えばこんな感じの関数でも定義しておけばそれなりに読みやすくなりそうだしそれなりに速いし、ってことになるかなぁ、どうだろう。 function getTags(html, tagName, className){ var cls = ""; if(className){ cls = "[^>]*?class=\"" + classNam
「http://d.hatena.ne.jp/brazil/20070420/1177060289」でFirefox専用の第二引数に環境の指定をとるevalの使い方について説明されています。その元はこちら「http://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20070414#p02」で、僕もこれを見たときに初めてしりました。そのころ僕はグリモンのスクリプトをいじっていたので、ちょっと気になっていくつか試してみて、ネタ元のページに以下のようなブクマコメントをしました。 evalの第2引数しらなかった。これを応用すると、GreasemonkeyでusafeWindow.xxx() とする場合、xxx内部からeval("GM_xmlhttpRequest", arguments.callee.caller)でGM_xmlhttpRequestが取得されてして
ごうだまりぽです。作ったモノとか拾った知識とかひねり出した知恵とかをさらしてます。読むと価値観が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" を作ったよ。こんにち
「Greasemonkeyスクリプトとウインドウ間で安全に通信する」にて、DOM イベントを用いた Web ページと Greasemonkey スクリプトとの通信について述べられています。そちらでは dispatchEvent メソッドの返り値による 1 bit 通信に触れていますが、やはりもっと自由にデータをやり取りしたいもの。そのためにはどのような方法があるでしょうか。 独自プロパティ 真っ先に思いつくのは、Web ページ側でイベントオブジェクトを作成した際、独自プロパティを追加する方法ですが、これはだめです。Greasemonkey スクリプト側ではイベントオブジェクトの独自プロパティを取得できません。event.wrappedJSObject.myProperty のように wrappedJSObject を介せば取得できますが、せっかく安全のため Firefox 側でラッパーに包
バグなのか仕様変更なのかはよく分かりません。 Firebugが入っている状態で、こんなグリモンを入れてリロードしてみると、 // ==UserScript== // @name Date test // @namespace hogehoge // @include * // ==/UserScript== (function () { with (unsafeWindow) { console.log('begin'); try{ new Date(); }catch(e){ console.dir(e); } console.log('end'); } })(); greasemonkey.jsで発生した例外がconsoleに吐かれます。 ちなみにwith (unsafeWindow) {}の外で、new Date()をやる分には問題なし。
追記2008.6.24 イベントによる通信について、nanto_viさんがGreasemonkey スクリプトとイベントで通信: Days on the Moonでより有用でフォーマルな情報を提供されています。 まじめに書こうと思ったら予想より使えなかった。 むかしsnj14がはてなブックマークが勝手にj/kにキー割り当てて、サービスはデータを出すだけにしてUIはユーザが好きにできるようにするべきだっていうのを書いてた気がするけど見つけられませんでした。 自分は、そうはいってもfirefox+Greasemonkey+LDRizeのようなUIの統一を図るスクリプトが極めてマイナーな現状でサービスがいらんことすんなっていうのも、ついていけない正しい話だなーと思ってるので、まずはLDRizeがあったら独自のバインディングをやめる、という妥協策が必要だと思う。そうすればはてなブックマークでj/k
Greasespot: Greasemonkey Version 0.8 以下は http://www.example.com/foo/bar/baz.user.js からインストールしたという前提。 @resource // @resource resourceName1 http://www.example.com/resource1.png // @resource resourceName2 resource2.js // @resource resourceName3 /resource3.cssスクリプトと同じディレクトリに2つ目のキーで指定したリソースが保存される。resourceName2はhttp://www.example.com/foo/bar/resource2.js、resourceName3はhttp://www.example.com/resource3.cs
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
AutoPagerizeのように、ブラウザ上に何かを表示するタイプのuserscriptがある。とりあえずここではこの種のuserscriptをUserScriptWidgetと呼ぶ事にする。AutoPagerizeのように、ブラウザの表示領域の角に何かを表示するようなUserScriptWidgetが増えてくると四隅の取り合いになる。右上はもうAutoPagerizeが勝ち取った感があるが、他の角はどうなるかわからない。同じ位置に表示されるUserScriptWidgetも出てくるだろうし、何より最大で4つまでしか使うことができない。少しずらして表示させたとしてもいつかは破綻する。今後のためにUserScriptWidgetの表示を管理するuserscriptを作成した。 installすると画面の左上に歯車のアイコンが表示される。このアイコンをクリックするとラジオボタンが表示されるので
Greasemonkeyでprototype.jsやscript.aculo.usが使えたら便利だろうな、と考えたことのある開発者は少なくないのではないでしょうか。ちょっとそんなアイデアを試してみたことのある方ならわかると思うのですが、Greasemonkeyでそういった外部JavaScriptライブラリは簡単には使えません。案外ハードルが高いです。 Googleで調べていたら、面白い解決方法が見つかったので紹介します。 Loading External JavaScript Libraries in Greasemonkey このブログで解説されているアプローチを用いれば、Greasemonkeyで外部JavaScriptライブラリが使えるようになります。 ポイントは、 外部ライブラリがロードされるまで待ち続ける制御構造 unsafeWindowを経由して外部ライブラリにアクセス といっ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く