javascript

まるごとJ

ざっと目を通した JavaScript2はなんか好きになれなそうだ 追加されるそれぞれの機能をみると便利になると思うんだけど、 ああいうのが全部入ったJavaScriptの姿を想像するとなえる JavaScriptの言語仕様とか文法とかのドキュメントをつくったら、 いまの10…

ブックマークレットをアップデート

del.icio.usとはてブ用のブックマークレットをアップデートしましたhttp://swdyh.infogami.com/layered_del.icio.us_bookmarklet document.framesってIFRAMEも入るんだなあ だからdocument.getElementsByTagNameにした IE6はposition:fixedもダメだし、文字…

YouTubeからニコニコ動画に移動するブックマークレット

もうあるのかも。まあいいや、つくってみました。 http://swdyh.infogami.com/youtube2nicovideo_bookmarklet ニコニコ動画に慣れると、YouTubeで見るのがつまんない ニコニコ動画は右のコメント一覧をみやすくしてほしいなあ コメントとクリックでその時間…

はてブ用のブックマークレット

こないだ作ったdel.icio.usブックマークレットのはてブ版です。 ふだんは自分が使うものしか作らないんだけど、 こっちのが需要がありそうなので、ちょっとつくってみました。 というかurlを差し替えただけですけど、はてブな人は試してみてください。 layer…

layered del.icio.us bookmarklet

このあいだdel.icio.usにポストするブックマークレットを改良して、 しばらく使っていたんだけれど、なかなか便利なのでまとめました。 はてなダイアリーではjavascript:のリンクが作れないのでこっち。 http://swdyh.infogami.com/layered_del.icio.us_book…

ページを見ながらdel.icio.usにブックマーク

del.icio.usのブックマークレットは実行するとページが変わってしまうので、 もとページがみられなくなってしまう。 コメントを必ず書くようにしているので、もとページをみながらブックマークをしたい。 もともとのブックマークレットを少し改造して、 ペー…

継続渡しスタイルのfact

関数プログラミングの勉強 http://p0t.jp/mt/archives/2007/01/post_545.html を見て、ふと思いたって考えてみた。 継続(continuation)って未だによくわかってないんだけど、このへんを読んだ。 SchemeとActor理論 http://www.ice.nuie.nagoya-u.ac.jp/~h003…

Rails勉強会 東京

http://wiki.fdiary.net/rails/?RailsMeetingTokyo-0014 なんかドタキャンが多かった。べつにいいんだけど、ちょっとひどい。 前半 テーブル設計とActiveRecord(舞波) 1:Nでも関連テーブルつくったほうがいいよ インピーダンスミスマッチ Rubyのオブジェクト…

FireBugのassertが減った?

Greasemonkeyでもテストがほしいなあと思ったらbrazilさんが書いてた。 Greasemonkey内でのテストコード、ok/is、Firebugコンソールへの出力(log/info/error) http://d.hatena.ne.jp/brazil/20060821/1156165379 これによると、FireBugのconsoleにassertがた…

AutoPagerize0.0.3

AutoPagerize 0.0.3 http://swdyh.yu.to/autopagerize003.user.js このあいだ、Wikiからデータを取るようにしたと書いたのだけど、 ひとまずそれは、サーバーの負荷を考えてやめました。 今のやつだと、「ユーザー数 * そのユーザーが見たページ」のアクセス…

結果を待って実行

Deferrdはまだ見てないんだけど、適当に作ってみた。 function execWhen(cond, proc, opt) { var opt = opt ? opt: {} var limit = opt.limit || 10000 var interval = opt.interval || 500 var current = 0 var timer = null intervalProc() function inter…

GM_xmlhttpRequstは非同期のみ

asynchronous:falseを付けてもなにも変わらないって思ったら、 GM_xmlhttpRequstは非同期しかできないらしい。 http://diveintogreasemonkey.org/api/gm_xmlhttprequest.html うーん、MochiKitならこういうときにDeferredとか使うのあかなあ。 でもGreaseMon…

アップできない

せっかくAutoPagerizeをバージョンアップしたのに、yu.toが繋がらない。 メンテかなあ。 バージョンアップの内容は、サイト用のデータ(次のページのリンクとか)を 別のページに書いておいて、そこからもデータを取るようにした。 サイト用のデータを書くペ…

AutoPagerize 0.0.1 Release.

AutoPagerize 0.0.1 http://swdyh.yu.to/autopagerize.user.js ダブルクリックで起動するので、あとはスクロールするだけです。 ライセンスはGPLです。(GoogleAutoPagerがGPLになっていたから) 昨日までのはGoogle用だったのだけれど、複数サイトの対応で…

AutoPagerize

GreasemonkeyのスクリプトにGoogleAutoPagerとかなんとかAutoPagerというのがあって、 とても便利なのだけど、こういうのってもっと汎用化できるんじゃないかと考えてみた。複雑なサイトは別にして、サイトのAutoPager化を考えると、 次のページへのリンク …

文字列のHTMLに対してXPathを使う

XHRで取ってきた文字列としてのHTMLに対して、XPath使ってデータを取るのがなんとかできた。 Firefox以外では動かないと思うけど、今回はGreasemonkey用なので気にしない。 document.implementation.createDocumentを使ってDocumentをつくる RangeのcreateCo…

「infogami、他のページに書かれたコードをロードする」を試してみた

infogami、他のページに書かれたコードをロードする http://d.hatena.ne.jp/brazil/20070104/1167884382トラックバックをもらったので早速試してみました。 ここにJavaScriptのコードを書いておいて、 http://swdyh.infogami.com/js_testここで上のコードを…

Effectのデモ

こないだつくったEffect.SlideAppearとSlideFade、あとその切り替えとかに使うEffect.Switchのデモをinfogami上に作ってみた。http://swdyh.infogami.com/slideapepar_and_slidefadeinfogamiはscriptタグがかけて嬉しいのだけど、.jsなファイルを置いたりで…

JSAN.jsからMochiKitをつかってみる

JSAN.use('MochiKit.MochiKit') JSAN.exporter(MochiKit.Base, MochiKit.Base.EXPORT) JSAN.exporter(MochiKit.Logging, ['log']) var a = [1, 2, 3, 4, 5] var f = function(x) {return x * 3} log(map(f, a)) JSANもMochiKitも使い始めたばかりなので、こ…

MochiKitのインタープリターの文字が小さいから

@namespace url(http://www.w3.org/1999/xhtml); @-moz-document url("http://mochikit.com/examples/interpreter/index.html") { #interpreter_form { font-size: 150%; } }

WEB+DB vol.36のMochiKitのへんを読んだ。

思ってたよりずっと関数型っぽさがあって面白そう。 とくにイテレターで無限リストとか作れて、遅延評価されるとことか。 でもupdateとか破壊関数になってるのが、あれって思ったりする。 あとheadとかtailがないっぽいけど、使わないのかなあ。それからspid…

effects.js(script.aculo.us)のAppearとFadeをちょっとカッコ良く

ここではJSを動かせないので、あとでデモをどこかに置く。※追記 デモはここ。 http://swdyh.infogami.com/slideapepar_and_slidefade Effect.SlideAppear = function(element) { element = $(element); var options = arguments[1] || {}; options.duration …