Archive for 1月, 2010
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したものが含まれないとそんな問題もある。
ブックマークレットの登録を手助けするブックマークレット
タイトルままですが、ブックマークレットがjavascript:~~~みたいにべた書きしてある場合、ブックマークレットとして登録するのが面倒なので、
それを登録するためのリンク(よくあるツールバーへD&Dするためのリンク)を作成するブックマークレット。
使い方
- 英語のニュースを読みやすくするブックマークレット – by edvakf in hatena
- http://d.hatena.ne.jp/edvakf/20100115/1263539415
上を例にしてみると
- べた書きされたブックマークレットのコード部分だけを選択する
- ブックマークレット登録補助ブックマークレットを実行
- プロンプトが出るので、登録するブックマークレットのタイトルをいれる(英語のニュースを読みやすくするとか)
- 選択範囲のすぐしたにいれたタイトルでリンクができるので、それをブックマークレットツールバーへD&Dする。
以上
(function(){
function insertAfter(newNode, node) {
return node.parentNode.insertBefore(newNode, node.nextSibling);
}
var selection = getSelection();
if (!selection.rangeCount) return false;
var range = selection.getRangeAt(0);
var endNode = range.endContainer;
var a =document.createElement("a");
a.href = range;
var str = document.createTextNode(prompt("ブックマークレットタイトル"));
a.appendChild(str);
insertAfter(a,endNode);
})();
ニコニコ動画のマイリストページに共起タグクラウドを表示する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
Dropbox関係のソフトウェア
なんとなくメモ
- DropboxPortable
DropboxをUSBなどから使えるようにするソフト - Dropbox Screen Grabber
Gyazoのようなソフト。ウィンドウのスクリーンショットを取ってpublicフォルダに入れる。 - Dropboxen
複数のアカウントとパスを使ってそれぞれ共有させるソフト - Conflict Manager
共有して競合が起きた際に、元のデータとConflictしたデータのdiffを見てどちらを残すかを選ぶソフト
他にもサーバで動かすようなPHPなものなどいろいろある。
- DropboxAddons – Dropbox Wiki
- http://wiki.dropbox.com/DropboxAddons
これからDropboxアカウント登録をお考えの方は、下のリンクから(紹介者と申込者に250MBの容量がおまけにつくそうです。)
Sync your files online and across computers with @Dropbox. 2GB account is free!

![sshot-2010-01-15-[1] ブックマークレットのテキストを選択](http://efcl.info/wp-content/uploads/2010/01/sshot-2010-01-15-1-300x66.png)



