Posts Tagged ‘Greasemonkey’
twilogに日付毎のページへ飛ぶリンクをつけるGreasemonkey
twilogの日付の隣あたりに日付毎のページへ飛ぶリンクをつけるGreasemonkeyです。
要は下のスクリーンショットみたいに日付ページへ飛ぶリンクをつけるだけです。
カッとなってつけたけどデフォルトでないのが意外。
- twilog date linker for Greasemonkey
- http://userscripts.org/scripts/show/70683
Twitterへ見ているサイトを投稿するGreasemonkey「Post Now browsing to Twitter」更新
今見ているサイトのURLをコメントとともにTwitterに投稿するGreasemonkeyであるPost Now browsing to Twitterを更新したので更新内容について。
どんな感じのものかは以前の記事を見てください。
- 今見ているサイトをTwitterに投稿する「Post Now browsing to Twitter」 | Web scratch
- http://efcl.info/2009/0929/res1369/
更新点
- 入力UIの変更
今まではコメントの入力を通常のプロンプトで行っていましたが、入力用のテキストエリアをショートカットを押した際に表示する用にしました。
コメントするUIとポストした際の並びに統一感がでたのと、コメントの入力に対してリアルタイムで合計の文字数をカウントアップします。(140文字をオーバーしても自動でタイトルを切って140文字に納めるのでカウントアップにしてます。)
コメント入力後(未記入でもOK)Ctrl+Enterを押すとTwitterにポストします。
コメント入力をキャンセルしたい場合はESCキーを押すことでキャンセルできます。
また、promptの時とは違いテキストエリアで入力するので、モーダルダイアログのように入力欄が表示されているとき、ページ上のテキストを選択できないということがなくなります。
後は細かい修正。
インストールはこちらから
- Post Now browsing to Twitter
- http://userscripts.org/scripts/show/46441
Jetpackで何かを作ってみる(作り方など
最近Jetpackをいじり始めたので、何かを作りながら作り方を学んでみる。
- Copy shorten URL with is.gd
クリックするとクリップボードに今のURLを短縮したものがコピーされる。
いわゆるクリップボード機能&ステータスバーに挿入を使ってみたかった。 - LDR_StatusBar_Notify
LDRの未読件数をステータスバーに表示
LivedoorReader StatusBar Notify
http://d.hatena.ne.jp/zuzu_sion/20090520/1242900564
を現在のバージョンで動くように修正しただけです。
昔のバージョンではimportがなかったり、Jetpackが大文字でも動いてたらしい。 - clipboard_display
クリップボードの内容をステータスバーに表示。いわゆるクリップボード機能を使ってm(ry
クリップボードが変更した際に知らせてくれるようなAPIはなかったのでintervalで回してるだけ。 - Nico_make_volume_corrections
ニコニコ動画で再生開始時にSettingで決めたボリュームにする。manifestで設定画面が簡単に作れるのはいい感じ。
いわゆるGreasemonkey的なものなJetpack
サイトの範囲を指定するのにはpageModsを使用する
Labs/Jetpack/JEP/17 – MozillaWiki
unsafeWindowはwrappedJSObjectを使っちゃってるが、javascript:プロトコルでブックマークレット的にやる方がよいです。
これがXPCNativeWrapperとunsafeWindowの間でデータを送受信する | へびにっき 参考になります。
JetpackのAPIは
プロファイルフォルダ\extensions\jetpack@labs.mozilla.com\content\js
のjsを読むと何があるか分かる。
解説はLabs/Jetpack/JEPs – MozillaWikiを見て、検索をかける(たいていの場合まめ畑がかかります)
azu さんのjetpackに関するメモに返信 に自分がメモったことに対してteramakoさんからの指摘が書いてあります。
今Jetpackでどんなことがどのようにできるのかが何となく書いてあります。
- Jetpack – MDC
- https://developer.mozilla.org/ja/Jetpack
簡素だがAPI解説がまとまってる
- Jetpack APIリファレンス | Screw-Axis
- http://screw-axis.com/jetpack/jetpack-api-referencejetpack-api-reference/
ちょこっと古いけどわかりやすい - [Jetpack] – Cli@
- http://d.hatena.ne.jp/efcl/searchdiary?word=%2a%5bJetpack%5d
- なんかリンクいろいろ
- 30分で作るJetpack Feature (1) 概要 – JavaScriptとかPerlとかPHPとかさくらとか勉強する
- http://d.hatena.ne.jp/lesamoureuses/20090715/1247637734
チュートリアル
JetpackにはSlideBarという機能もあるが今回全く触れてない。
All-in-One Sidebarみたいなものを使えるらしい。
Greasemonkey使ってないスクリプトを削除するメモ
Greasemonkeyで使ってないスクリプトを削除したい。
gm_scriptsディレクトリにあるconfig.xmlを編集
^(?!.*enabled="true").*$
を空に置換して有効になっているものだけを取り出す
^\n
も空に置換して空の改行をなくす
^.*?filename="(.*?)".*?basedir="(.*?)".*?$ を下のように置換して使っているファイルのパスを出す。 \2/\1
なんかゴミが残ったりするので上の正規表現が適当なせい。
ここまでの手順で、使っているスクリプトの.jsまでのファイルパスが抽出できる。
で、こっからどうやってそれらのファイルだけを取り出せばいいのかがよくわからない。
こんな感じででる。(なんかいろいろおかしい)
./googlenotebookcustomizer.user.js pastedscripinstaller3.user.js. simplestylegoogle_mania.user.js hb_display_comment/hb_display_comment.user.js .....
リストに載っているものを移動するときに(その方法すら浮かんでない)Requireしたものが含まれないとそんな問題もある。
ニコニコ動画のマイリストページに共起タグクラウドを表示するGreasemonkey
- ニコニコ動画の検索ページに共起タグクラウドを表示するChrome用ユーザスクリプト作ってみた – あたご型護衛艦日記
- http://d.hatena.ne.jp/aTaGo/20100112/1263285275
という便利なものがあったので公開マイリストページにもタグクラウドを表示するGreasemonkeyを書いてみた。
// ==UserScript==
// @name Mylist TagCloud
// @namespace http://efcl.info/
// @include http://www.nicovideo.jp/mylist/*
// ==/UserScript==
evalInPage(function(){
var as = my.currentItems
var ids = "";
if(as.length > 1){
insertcallback();
for(var i = 0; i < as.length; i++){
var smid = as[i].item_data.video_id;
ids += smid + "+";
}
//console.log(ids);
var uri = "http://nicotag.sakura.ne.jp/getcollocationtag.php?smid=" + ids + "&rand=" + Math.floor(Math.random()*1000);;
calljsonp(uri);
}
function calljsonp(uri){
var scr = document.createElement('script');
scr.type = "text/javascript";
scr.src = uri;
document.body.appendChild(scr);
}
function insertcallback(){
var callscr = document.createElement('script');
callscr.type = "text/javascript";
callscr.text = ''
+ 'function callback(val){'
+ 'var footer = document.querySelectorAll("div#SYS_box_mylist_body");'
+ 'var foot = footer[0];'
+ 'var div = document.createElement("div");'
+ 'div.innerHTML = val;'
+ 'foot.parentNode.insertBefore(div, foot);'
+ '}';
document.body.appendChild(callscr);
}
})
function evalInPage(fun) {
location.href = "javascript:void (" + fun + ")()";
}
JSONPでしか取得できないような気がしたので、ほぼそのままな感じ。
確かめてないけどChromeでも動くかも。
Googleの検索結果画面にTwitter検索の結果も表示するGreasemonkey(焼き直し)
Googleの検索結果画面にTwitter検索の結果も表示するGreasemonkeyスクリプトです。
以前、Twitter Search Results on Google for Greasemonkey [ http://userscripts.org/scripts/show/43451 ]を元に書いたものの焼き直しです。
- Googleの検索結果にtwitter検索の結果を同時に表示するGreasemonkey | Web scratch
- http://efcl.info/2009/0826/res1266/
少し似た目が変わったのと、その場でTwitter検索の結果を継ぎ足せるようにしたぐらいです。
インストールはこちらから
- Twitter search(ja) result on Google for Greasemonkey
- http://userscripts.org/scripts/show/65540
TwitterのWebページをサイドバーで使うためのまとめ
- Twitterのウェブサイトをクライアントとして使うのに役立つGreasemonkeyとCSS | Web scratch
- http://efcl.info/2009/0317/res613/
以前書いたような記事と似たような記事を書きましたが、今回はシンプルにサイドバーでTwitterのWebページを表示する方法です。
Greasemonkeyがサイドバーでも動作するようになったので、かなり快適になり、またWebページを表示するだけなのでAPIを使わないのが特徴です。
まずはCSSでサイドバーに合わせた形にする必要があります。
- nukumori wiki – Firefoxのサイドバーでtwitter.comするCSS
- http://nukumori.org/hiki/?TwitterSidebarCSS
にあるCSSを使ってサイドバーに合わせたものにしていきます。
使い方は書いてあるのでそれをよく読んでCSSを反映させます。
(ブックマークするのはhttp://twitter.com/?sidebar という適当なクリエを付けたURLです。
http://twitter.com/だと通常見るときと混ざってしまうため。)
ブックマークではなくCustom Buttonsを使ってtwitterをサイドバーに表示するボタンを作成する方法もあります。
Twitterをサイドバーに表示するボタンを作成しておきました。
- userChrome.css
少し自分向けに修正したCSS(通常のTwitterページ向けも混ざってる)
次により使い易くするためのGreasemonkeyを入れていく。
Ctrl+Enterでポストする。
自分の投稿や、特定のワードが入ってる投稿を色分けする
tyoro.exe: 投稿内容からマッチングしてスタイル変えるグリモン書いたよ!
自動更新の差分を自動で取得
Twitter webの自動差分更新Greasemonkeyスクリプトを書いてみた « H.LOG
自分は入れてませんが基本的にはTwitterのWebページと同じなので、
など入れるのもありかもしれない。
Greasemonkeyでサイト既存の関数を上書きする
サイトに新たに機能を付け加えるのではなくて、元々サイトに存在してる関数を少しだけいじってやった方が簡単な場合があります。
そういうときにGreasemonkeyからサイトに元々ある既存関数を上書きする方法です。
- SmartLDR更新 – 素人がプログラミングを勉強するブログ
- http://d.hatena.ne.jp/javascripter/20090324/1237903880
ここで紹介されているlocation.hrefとjavascript:プロトコルを使ったハックを使うと比較的簡単に関数の上書きができます。
例えばmyFuncという関数を上書きしたい場合は以下のようにjavascript:プロトコルからmyFuncを再定義すると上書きができます。
function evalInPage(fun) {
location.href = "javascript:void (" + fun + ")()";
}
evalInPage(function () {
myFunc = function(){
上書きする内容
}
});
location.hrefとjavascript:プロトコルを使って実行するとXPCNativeWrapperの外側でスクリプトを評価できる(Greasemonkey内の評価ではなくなる)ので、unsafeWindowを使わなくても既存の関数に触ることができます。
逆にGreasemonkey内の評価ではなくなるので、GM_関数は使えなくなります。(感覚的にはブックマークレットを実行するのと同じ)
これを同期的に扱いたいならJSDeferredを使って下のように組み込むといいらしい。
- unsafeExec on JSDeferred – 枕を欹てて聴く
- http://d.hatena.ne.jp/Constellation/20090326/1238073714
9washのRTフォーマットを一般的なものに変更するのにこの方法を使ってみた。
9washはブラウザから利用できるWeb twitterクライアントです。
軽くて使い易いので、いいクライアントだと思いますが、RTのフォーマットが[RT:数字id @ユーザー名]みたいになっていて、使いにくかったのでその部分の関数を上書きして、よく使われているようなRT @ユーザー名:の書式に変えるようにしてみました。
- 9wash twitter clientについて
- http://tw.9wash.com/about
LDR all-in-one Hatena extensionを修正
- Fastladder まわり ( はてなまわり機能追加 ) – KBDAHOLIC – やぬすさんとこ
- http://d.hatena.ne.jp/janus_wel/20090111/1231678843
LDR all-in-one Hatena extension.user.jsが動かなくなっていたため、勝手に修正しました。
はてなスター周りはばっさりカットしてしまった。
なので、基本的な機能ははてなブックマーク数とコメント表示をするGreasemonkeyというもの。
修正点
- Greasemonkeyではwindow.evalが使えない、eval.call(window, src) – はてなダイアリー – 無料で簡単。広告のないシンプルなブログをはじめよう!
- http://d.hatena.ne.jp/brazil/20060821/1156164845
JSONをパースするために使われていた上のテクニック部分がエラーを吐いて動いてなかったので、ネイティブJSONを使ってみました。(Firefox3.5~だったかな。)
sabdbox周りの変更が原因らしいです。
- gist: 233723 – GitHub
- http://gist.github.com/233723
Firefox Developers Conference 2009 アウトラインメモ
Firefox Developers Conference 2009に参加して適当にメモを取っていたので一応公開。
とても読みづらく、まとまっていません。 またトークセッションなど力尽きているところもあるので真剣に読んではいけない。





