javascript

firefox3

おとといまで動いていたJavaScriptが今日になって動かない。ソースはいじっていないので、変わったのはブラウザだけ。 Firefox3では、ネイティブで実装されるgetElementsByClass(classname)がprototype.jsのようにArrayの代わりにNodeListを返すようになった…

protocalendar.js

prototype.js ベースの日付選択用 javascript ライブラリ「protocalendar.js」を公開しました。 日付選択用のコントロールを提供するライブラリ。後で調べる。

Autocompleterを読む その3

http://d.hatena.ne.jp/akm/20071128#1196263081 http://d.hatena.ne.jp/akm/20071203#1196683131 の続きです。まだどんな風に表示するのか分かってないので、表示しそうな上下キーを押したときの処理から見ていきましょう。

Autocompleterを読む その2

http://d.hatena.ne.jp/akm/20071128#1196263081の続きです。今日は、動作する順番にソースコードを追ってみます。

Autocompleterを読む

railsのauto_complete_fieldをカスタマイズしたくなったので、controls.jsを読んでみることにしました。

Kanasan.JS

感想ですが、prototype.jsのソース読みがこんなに面白いとは思わなかった! 他の言語ではありえないJavascriptならではの実装があったりして、とても良い企画だったと思います。 今回はまだ400行(全体の11%)しか進んでいないので、次回以降も続きができると…

Prototype extensions

Scripteka :: Prototype extensions library Prototype.js (+Script.aculo.us)を利用して作られたJavaScriptライブラリまとめサイト「Scripteka」 これは便利かも。jquery用とか他のライブラリ関連のものもあったらいいなー。

TIDE

http://www.100shiki.com/archives/2007/11/javascripttide.htmlすげぇ。IDEだよ。IEとFirefoxでの動作の違いとか調べるの楽そう。っていうか、そんなことよりこいつのスクリプトを読んだら勉強になりそうな予感。Ext使ってるね。思ったより動きも軽いし。

戻るボタンを無効にする(IE限定)

<script> //<![CDATA[ history.forward(); //]]> </script>短いけどスマートじゃないよねー。でも機能は果たしているのでとりあえず採用。

slickspeed

SlickSpeed is a CSS selector test suite provided by the MooTools folk.This tool comes at the same time as they release CSS3 support in Mootools, and it compares Prototype, jQuery, MooTools, Ext, and CSS Query. で、http://mootools.net/slick…

WebアプリとHTA

Webアプリで作ったデータをローカルPC(Windows)で動いているシステムに取り込みたいとかいう話なんですが、普通に考えれば、Webアプリ側にAPIを用意してローカルのシステムでHTTPをお話するという方法がマットウに思えますが、結構面倒くさい方法ではありま…

Jester

Today, we窶决e releasing our implementation of REST, in JavaScript, which we have titled Jester. It provides (nearly) identical syntax to ActiveResource for using REST to find, update, and create data, but from the client side. スゴイ!Jav…

Aptana + RadRails

久しぶりにAptanaをダウンロードしてみたら使いやすくなっていました。しかーも! RadRails Integration Aptana is currently in the process of migrating various RadRails resources and code over to the Aptana site. When it is complete we will have…

yui-ext

超リッチJavaScriptコンポーネント集「Ext」がprototype.jsに対応。 以前、「Yahoo UI Libraryを拡張した超リッチなコンポーネント集」で紹介したリッチなコンポーネント集はYahoo UI Library 用のものでしたが、 なんと、prototype.js+script.aculo.usでも…

Starryをreadonlyに

var starry = new Starry('rating_stars', {sprite: "/images/black_stars.gif", startAt: 3}); for(var i=0; i < starry.children.length; i++){ var element = starry.children[i].element; element.onclick = null; element.onmouseover = null; element.…

MochiKitでAOP

もう一週間も前になっちゃったけど、id:brazilさんのMochiKitでAOPするコード。MochiKitも使いたいなー。デモ見るといい感じなんだよなー。 JavaScriptでオブジェクト指向やアスペクト指向を過度に追うことは、パソコンでファミコンをやるようなもので、下位…

Prototype Window Class

This javascript class allows you to add window in a HTML page. This class is based on Prototype. The code is inspired by the powerful script.aculo.us library. You can even use all script.aculo.us effects to show and hide windows if you inc…

コンストラクタをapply

new F() としたとき、実際に F が呼び出される前に新たなオブジェクトが作られるが、そのオブジェクトの生成にあたっては F.prototype の値が参考にされるのみで F 自体は直接関わってはいない。だからこそ一時的なコンストラクタを使って継承を実現というこ…

Logger

http://secure.ddo.jp/~kaku/tdiary/20060919.html オレジュで取り上げてもらって嬉しいので、Object.Aspectを使ったメソッドの呼び出しをloggerに渡すものを載せてみる。 Object.Aspect.Logger = Class.create(); Object.Aspect.Logger.prototype = { initi…

JavaScriptでアスペクト指向

JavaScriptでオブジェクトにアスペクトを適用するコードを書いてみた。 アスペクトは単なる関数として書きます。JavaScriptでアスペクト指向やってもあんまりおいしいところはないと思ってたけどそれなりに使える。Dateオブジェクトにアスペクトを適用するテ…

JSONP

前回のエントリで触れたJSONP。初出はRemote JSON - JSONPというMochiKitの中の人によるエントリ(多分。一言で言うなら「JSONデータを括弧でくくった上でこっちが指定した文字列を頭につけて返してね?」というもの。文章で説明するとわけわからん。 ずっと…

ドキュメント中での選択範囲

どの辺りが選択されているかとか、選択範囲を操作したりするオブジェクトとしてIE系ではdocument.selection*1を使うけど、Firefox/Operaではwindow.getSelection()で返されるオブジェクトを使うらしい*2。以下、FirefoxとOperaのselectionオブジェクトのメン…

table.innerHTMLへの代入

IE7 beta3を試しています。既存のJavaScriptを動かしてみて、まずinnerHTMLへの代入で引っかかりました。 普通のdivとかならinnerHTMLに代入しても問題ないんですけど、table、tbody、trのinnerHTMLへの代入が「未知の実行時エラー」とか言って怒られます。 …

ドラッグ&ドロップでテーブルの行を並び替え

SVNでRailsのプラグインとかJavaScriptを公開してみたくて、Google Codeのホスティングサービスでプロジェクトを作ってみました。 http://code.google.com/p/asyrinx/とりあえず一発目はドラッグアンドドロップでtableの行の順序を変えることができるJavaScr…

スピードのきもちよさ

仕事でJavaScriptを使う前、理屈だけを勉強しているときは、パフォーマンスを軽んじていた。 まずは適切に書くことが一番で、きちんと書けてさえいれば、後から簡単に高速化できるように漠然と思っていた。 凄く同意。「リファクタリング」にプロファイリン…

RicoがObject.prototype.extendを

rico.js 1.1.2 がObject.prototype.extendを定義してやがるんですよ。prototype.js 1.4.0以上は廃止しているのに、prototype.js 1.3.1をベースに作ってあるみたいで、Object.prototype.extendが定義されてなかったらrico.jsが定義しちゃうんです。泣。Rico2.…

document.documentElement or document.body

サンプルで作ったJavaScriptのクラスを、本番で試そうと思ったらうまく行かなかった。色々調べてみると、scrollTopの取得がサンプルではdocument.documentElementで取れていたのに、本番ではdocument.bodyでしか取れない。勿論同じブラウザ(IE6.0とFx1.5.0.4…

RoRでprototype.js

http://www.rubyonrails.com/docs RailsのオフィシャルサイトのTutorialsを少しずつこなしてます。全く同じものを作っても仕方ないので、仕事用のDBを対象にしてます。とりあえず、Rolling with Ruby on RailsのPart I, Part IIまでは終了。 Amy's Part III…

JSONも普及してきたのかも

■ JSONがRFCに、MIMEタイプはapplication/json http://www.kanzaki.com/memo/2006/03/30-1 へー。ちなみにRFCでぐぐったらRFCの日本語訳のリンク集があった。http://www5d.biglobe.ne.jp/~stssk/rfcjlist.html

続・丸角

この前作った丸角ライブラリには大きな欠点がありました。なんとpaddingを0px以外に設定すると、角の表示がおかしくなってしまうのです。それからborderも丸くなりません。困ったのでRico.jsとか見たんですけど、いちいち背景色を指定しないといけなかったり…