id:youpyによるGlitchMonkeyというuserscriptがあるのですが、ページ表示後に挿入された画像ファイルに関してはグリッチされないので、DOMNodeInsertedを使って対応してみました。 http://gist.github.com/77891 DOMノードが挿入される度に美人時計の画像ファイルをダウンロードして正規表現による置換を行ってグリッチされます。

Page Not Found – 404のtextareaをcloneする方法は微妙なので、別の方法を考えた。全角文字や行を減らすのにも対応している。優れたUIは全てのサイトで使えるべき。GreasemonkeyだとDOMNodeInsertedをフックするのが面倒なのでXBLにした。 userContent.css: textarea { overflow-y: hidden; min-height: 5em; height: 5em; -moz-binding: url("auto-resize.xml#run"); } auto-resize.xml <?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl" extends="chrome://global/content/platformHTMLBindin
最終更新日 Wed, 29 Apr 2009 01:29:41 +0900 最後のコメント Sun, 25 Jan 2015 19:08:17 +0900 最後のトラックバック Wed, 11 Mar 2009 15:49:00 +0900 ブックマーク 遅くなりましたが、先日に開催された、Kanasan.JS Greasemonkey チュートリアル読書会のレポートです。 せっかくなので、読書会の内容を元にGreasemonkeyスクリプト作成の「入門」「実践」「Tips」の3本立てでまとめてみたいと思います。 今回の開催はKanasan.JSの主催をkanasanから引き継いで、初めての開催ということもあり、とても緊張しました。 途中までは無難に進んでいたのですが、後半は段取り不足が出てきた感じでした。参加者の方々にはご迷惑をお掛けしました。 Greasemonkey チュートリアル読
Greasemonkey チュートリアル読書会 - Kanasan.JS : JavaScript Workshop in Kansai 行ってきました.単発イベントだと気軽に来れるのか,初参加の人が多かったですね. 参加者29人&50%以上Mac. 同会場で行われた午前中のHaskell勉強会ではMac率100%だったとか.素晴らしい. 読書会 以下ログ&メモを読みつつまとめ ソースの説明が詳しく,読み進めやすかった 「またIEか」 @includeなどのメタデータはインストール時に設定されるため,インストール後に変更しても反映されない ソースコードの変更は反映される @includeなどを変更するにはgreasemonkeyのあるフォルダのconfig.xmlを書き換えるか,manage user scriptsからURLをいじる グリモンからだと,windowオブジェクトは参照専用.
Firefox3 の Greasemonkey, unsafeWindow 内の prototype がとれない - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtechの件。 そろそろGreasemonkeyをFirefox3対応にしていきたいところだけど、この問題がすごく厄介。 例えば、はてなスターの星をプロフィールアイコンに置き換えるGreasemonkey Scriptメンテナンス更新 - 0xFFはFirefox2では動くけどFirefox3では動かない。 とりあえず、無理やり動かしてみる。 // ==UserScript== // @name replace star by profile icon // @namespace http://ss-o.net/ // @include http://*.hatena.ne.jp/* // @checkur
の39番目とGM_addStyleの実装と最適化 - 0xFFについて。 まず、style要素を使う方法。 function addStyle(css) { var style = document.getElementsByTagName('style').item(0); if (!style) { style = document.createElement('style'); style.type = 'text/css'; (document.getElementsByTagName('head').item(0) || document.documentElement).appendChild(style); } style.appendChild(document.createTextNode(css + '\n')); } 元からあるstyle要素を利用する方法。コメント欄
GreasemonkeyのGM_addStyle関数は呼び出すたびにhead内にstyle要素を作る。 Greasemonkey 0.8.20080609.0のソースより。 function GM_addStyle(doc, css) { var head, style; head = doc.getElementsByTagName("head")[0]; if (!head) { return; } style = doc.createElement("style"); style.type = "text/css"; style.innerHTML = css; head.appendChild(style); } これは、はっきり言って効率が悪い。 補足:CSSをミスったときの影響が自分だけに留まるというメリットはある。 補足2:効率悪いと書いたけど、体感できるような話ではないと思
Flash 10 でも「はてなダイアリー」の「バックアップ機能」を使えるようにするグリースモンキー - IT戦記を見て、ユーザーエージェントを切り替えるように、Flashのバージョンも嘘を付けるようにできるといいと思った。 Firefoxだと、 navigator.plugins['Shockwave Flash'].__defineGetter__('description', function () { return 'Shockwave Flash 9.0 r151'; }); とすればいい。 Safari(WebKit)だと、 navigator.plugins['Shockwave Flash'] !== navigator.plugins['Shockwave Flash']; なので、上の方法はうまくいかない。 var navigator_ = window.navigato
fotolife記法で大きいサムネイル画像を表示できるようになりました フォトライフの写真を表示するfotolife記法で、120pxのサムネイル画像を表示できる「:medium」指定を追加しました。これまでの「:small」指定では60pxのサムネイルが表示されていましたが、「:medium」指定ではフォトライフリニューアル後の大きいサイズのサムネイルを表示させることができます。 120pxのサムネイル画像を表示するには、通常のfotolife記法に続けて「:medium」と記述してください。 (120px) (60px) (通常サイズ) と記述すると、 (120px) (60px) (通常サイズ) のように表示されます。 idea:19740でご要望いただきありがとうございました。その他、fotolife記法のオプション指定につきましてははてなダイアリーのヘルプをご覧ください。 ツイー
初めてGreasemonkey を作りました!javascript は全然できないので(初めてのjavascript 4章まで読んだくらい)、その辺のソースを組み合わせて作りました。 どんな機能? Slimtimer というサービスがあります。簡単に言うと、タスクを登録して、タスクを行う前にボタンを押し、終わった後にまたボタンを押すと、そのタスクにかかった時間が計測できるというツール。(詳しくはSlimTimer (オンライン仕事タイマー) : ワークスタイル・メモ ) いつも、チケットに着手しているときはそのチケットをSlimtimer に登録しています。すると、「今週何やったの?」って言われた際に、Slimtimer のレポート画面を開くと一発で分かるので便利。 そこで、そのレポート画面から自分のTrac のチケットへリンクできると便利だなと思い作りました。 Greasemonkey
以下、個人的な覚書。 はてブコメントの取得には、Google AJAX Feed APIを使用。 スクロール表示には、最初は手を抜いてmarqueeを使おうとしたが、JavaScriptであとから作った要素の場合はFirefoxでは表示されない問題あり。仕方ないので、setInterval()使って適当にでっち上げ。 【追記】付いているコメントを全部表示すると弾幕もいいところなので、 コメント本文(result.feed.entries[x].content)がないものはスキップ。 最大50件まで(……まぁ、これでも充分弾幕という話も)。 【追記】書き忘れてましたが、元ネタは『にっこにこAAツール』(『小粋空間: Amazon の画像リンクをニコニコ動画っぽく表示する「にっこにこAAツール」』経由) 【追記】調べてみたら、『はてブTV』なるサービスもあるのですね。ふーむ、よくこんなの思いつ
はてブユーザのストーキングを加速させるgreasemonkey(はてブしてるひとのダイアリーへのリンクを付加する) - Cherenkovの暗中模索にっきを勝手に添削する。 まず、気をつけたほうがいいもの。 // ==UserScript== // @name hateb_link_user_diary // @namespace http://d.hatena.ne.jp/Cherenkov/ // @include http://b.hatena.ne.jp/entry/* // ==/UserScript== (function(){ // 最近のグリモンは無名関数で囲う必要がない(Operaのuser.jsとかは必要) var h = document.evaluate('//a[@class="hatena-id-icon"]', document, null, 7, null)
追記2008.6.24 イベントによる通信について、nanto_viさんがGreasemonkey スクリプトとイベントで通信: Days on the Moonでより有用でフォーマルな情報を提供されています。 まじめに書こうと思ったら予想より使えなかった。 むかしsnj14がはてなブックマークが勝手にj/kにキー割り当てて、サービスはデータを出すだけにしてUIはユーザが好きにできるようにするべきだっていうのを書いてた気がするけど見つけられませんでした。 自分は、そうはいってもfirefox+Greasemonkey+LDRizeのようなUIの統一を図るスクリプトが極めてマイナーな現状でサービスがいらんことすんなっていうのも、ついていけない正しい話だなーと思ってるので、まずはLDRizeがあったら独自のバインディングをやめる、という妥協策が必要だと思う。そうすればはてなブックマークでj/k
(function(){ var addEvent= function(element,eventName,handler){ if(element.addEventListener){ element.addEventListener(eventName,handler,true); }else{ element.attachEvent("on"+eventName,handler); } } addEvent( window, "load", function(){ var getLength= function(str){ return str.length+str.replace(/[\x0-\xff]/g,"").length; } var sort= (function(getLength){ var _getLength=getLength; return function(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く