javascript

Mochikit で sendXMLHttpRequest する際に Content-Type を設定しないと、CGI.pm で URL エンコードされた POST データを受け取れない

サーバの入れ替えを行う際に、時間を無駄にしたのでメモ。旧環境では、下記のコードで問題なく動作していたのだが… // ..snip.. var r = getXMLHttpRequest(); r.open('POST', CGI_PATH, true); var args = formContents('form_id'); this.d = sendXMLHttpRe…

JavaScript のブラウザ判別

今年の春に入社した新人がブログを書き始めたので返事を書いてみる。 IEとFirefoxのイベント処理 - SASAKURE-CODING どのような言語でもそうですが、基本的に我々初学者が困るような事は、世の中の誰かが既に解決済みである可能性が高いです。 とは言え、何…

SpiderMonkey + JSLint + Vim

二年前に SpiderMonkey 使って perl で簡単な Syntax チェック用の Script を書いてみた 改訂版 と言う記事を書いたのですが、部下に JS を教える為に環境構築していたら、Perl Module の JavaScript と JavaScript::JSLint のテストが通らずイラっとしたの…

Selenium のテストケースに一定の待ち時間を入れる

Perl で Test::WWW::Selenium を使う際には関係のない話ではあるのですが...、HTML と JavaScript (Selenium IDE 上)だけで sleep を実現したいという要望を頂いたので下記を提案してみました。 <tr> <td>waitForCondition</td> <td>var et = (new Date()).getTime() + 3000; </td></tr>…

MochiKit を使う際に、追加している関数を晒してみる(その2.partial)

id:cooldaemon:20070429:1177857285 の続き。 Mochikit.Base.partial は、前方から引数を束縛するのですが、任意の位置の引数を束縛したかったので、my_partial を作ってみました。 source の前に実例 var base_func = function () { map(function (arg, i) …

MochiKit を使う際に、追加している関数を晒してみる(その1.create_class)

prototype.js の Class.create の模倣+α。 var create_class = function () { var m = MochiKit.Base; var iter = MochiKit.Iter; var new_func = function () { if (typeof this._new !== 'function') { return; } this._new.apply(this, arguments); }; i…

Ext JS の mochikit-bridge.js 書いてみた(7割くらい動く)

prototype-bridge.js を修正して、mochikit-bridge.js 書いてみました。 Grid で、横幅が変更できなかったり、いろいろ不具合だらけですが。 (function(){ var libFlyweight; Ext.lib.Dom = { getViewWidth : function(full){ return full ? this.getDocumen…

MyObject.prototype = { /* ... */ } を使ってはいけない理由

404 Blog Not Found:javascript - 勝手に添削 - JavaScript入門 IT戦記 - 「勝手に添削 - JavaScript 入門」を勝手に添削 知らなかったのでメモ。考えてみたら、確かにそうだ。 Mochikit ベースで他の方が書いた source を見て、何故、皆、クラス宣言で upda…

Mochikit.DOM に Text Node を生成する便利な関数が存在しない理由

くだらない Entry なんですが・・・source を追うまで気がつかなかったのでメモ。下記のような HTML を・・・ <div id="gender_select"></div> 下記のようにしたい場合 <div id="gender_select"> <input type="checkbox" name="gender" value="man"/>man </div> Mochikit では appendChildNodes( 'gender_select', INPUT({type: 'checkbox', name: 'gender', value: 'man'}, n…

Textbox の Auto Complete (suggest っぽいの)

AutoComplete - MochiKit - Trac を見てもピンと来なかったので書いてみた。 汎用性無し、機能不足、負荷対策をしていないので、改良の余地がありますが、まー、雛形って事で。 autocomplete.html <html> <head> <script type="text/javascript" src="/path/to/MochiKit.js"></script> <script type="text/javascript" src="/path/to/autocompleter.js"></script> </head></html>

Line-Ending Punctuators を無効に

id:cooldaemon:20070221 の jslint を使って、下記の syntax check を行うと・・・ child_node: function (msgs) { return DIV( {'class':'error'}, UL({'class':'error'}, map(partial(LI, {'class':'error'}), msgs)) ); } 下記のエラーが出る。 xxxx.js:4…

Deferred のメモ諸々

callback 関数が Deferred オブジェクトを戻した場合 Collection & Copy - Deferredチェーン、非同期処理の逐次実行 コールバック処理の中で、Deferredのインスタンスを返すと、元のDeferredはポーズされ(pausedがtrueになる)、返されたDeferredオブジェクト…

エラーを throw した時の Deferred の処理順

Spider Monkey で下記のサンプルを実行すると・・・ var d = new Deferred(); d.addCallbacks(throw_error, partial(error, 'debug0')); d.addCallback(increment); d.addCallbacks(increment, partial(error, 'debug1')); d.addCallback(increment); d.addC…

SpiderMonkey 使って perl で簡単な Syntax チェック用の Script を書いてみた[改訂版]

#!/usr/bin/perl use strict; use warnings; use JavaScript::SpiderMonkey; my $file_name = $ARGV[0]; if (!$file_name) { print "Usage : js_checker.pl [Java Script file name]?n"; exit; } open my $fh, $file_name or die "Couldn't open $file_name:…

辞書ファイル作成ツールを perl で作ってみた

無いより、マシかなぁと。本当は SpyderMonkey を利用して、現在利用可能なオブジェクトとか、そのプロパティの一覧とか、抜き出そうかと思ったんですが、JavaScript で現在利用可能なオブエジェクトの一覧を取得する方法が解らないので、断念。ってか、Omni…

syntax/javascript.vim

元々添付されている syntax/javascript.vim は、常用に耐えないので下記に置き換える。 http://www.vim.org/scripts/script.php?script_id=1491 マシになった。エラーが出る場合は、117 行目を下記のように修正する。 function! FT_JavaScriptDoca()

URLメモ

Framework とか library http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html http://labs.adobe.com/technologies/spry/ http://jquery.com/ http://developer.yahoo.com/yui/ http://www.openrico.org/ http://wiki.apache.org/incubator/Kabu…

SpiderMonkey 使って perl で簡単な Syntax チェック用の Script を書いてみた

デバック用に今更インストールしてみた。 curl -O http://ftp.mozilla.org/pub/mozilla.org/js/js-1.5.tar.gz tar -zxvf js-1.5.tar.gz cd ./js/src make -f Makefile.ref cp ./Darwin_DBG.OBJ/js /usr/local/bin/Darwin_DBG.OBJ の箇所は環境によって違う。…

プログレスバーサンプル

画像は、下記から失敬。 http://mentalized.net/activity-indicators/ sanple.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>progres bar sumple</title> <script type="text/javascript" src="/js/prototype.js"></script> <script> function getHTML () { var value = '日本語'.esc…</meta></head></html>