2006-01-01から1年間の記事一覧

ECMAScriptはJIS規格でもあったのか〜〜〜〜!!!!

まぁそういうことです。リンクについてはなんかサイトポリシーを見たら申告制らしい。原則としてトップページのみいやはや...。ttp://www.jsa.or.jp/ 規格番号:JIS X 3060:2000 標題:ECMAScript言語 英訳標題:Information technology -- ECMASc…

Java6でJavaScriptを試した

Java6が正式リリースされたので早速JavaScriptを試してみました。JRunScriptではなくjavax.script.*の検証です。とりあえずHello World!!から... Hello World!!(Main.java) import javax.script.*; class Main { static ScriptEngine engine = new ScriptEng…

innerHTMLでdocument.writeする - その2

XMLHttpRequestで取得したHTMLをそのままinnerHTMLに挿入してそこにあるscriptもついでに実行したい場合には役に立つはずです。 って自分で書いていて実際にinnerHTMLにscriptを挿入して動かないっていうサンプルを公開していたのでそれを正常に動くようにし…

innerHTMLでdocument.writeする - その1

前回のエントリの続きです。defer属性指定しただけではdocument.writeしたときに順番が狂う。foo bar fooなら foo foo barと表示される。ノードツリーが完成した後にdocument.writeすると大変なことになるしなかなか利用しづらい面もあって、以下のようなコ…

innerHTMLでscriptする

innerHTMLにscriptを代入しても評価されず無視されるのはIEの仕様なのでいいとしてその回避策。最近、昔あの方法で出来たんだけどいつの間にかできなくなってるコードが出てきている気がします(気のせいにしておこう)。 以下は一般的な動かないコード。 <div id="foo"></div> <script type="text/javascript"> do</script>…

HTMLのタグ属性文字列をJSON文字列化

例えば 以下の文字列を foo="fooText" bar="barText" attr="attr's text" 以下のJSON文字列にしたい {foo:"fooText",bar="barText",attr:'attr\'s text'} 昔は正規表現を利用していた。 正規表現を利用してループ処理して色々やってJSON文字列を作成していま…

Subversionで過去の思い出を完全抹消

SVN

Subversionは管理されたファイルなら追加や削除履歴やらを全て記録してくれてうっかりあやまって消してしまったファイルでも過去のリビジョンに戻って復活できます。それがいいところです。 ただ、うっかり機密文章とかライセンス違反のものをコミットしてし…

AntでJavaScriptする。

Ant

AnotherNeetNeatな…Tool(以下Ant)ではXMLに色々と設定をかいてビルドするのは言う必要もないのですが、あるフォルダにあるファイル列挙してJavaScriptをRhinoを使ってJavaにコンパイルしたりとかAntタスクに用意されていないものを利用したいと思うとタスク…

PHPの関数をJavaScriptに移植していた件

id:shogo4405:20061029:1162103214 id:shogo4405:20061022:1161518840 もともとJSmartyのプラグインで実装する必要があったのでPHP関数をJavaScriptに移植していました。JSmarty以外でも僕は利用することがあってJSmartyで利用しないものも移植していました…

SF.jpでSVNともう1つ

SF.jpでSVNが試験サポートされたみたいですね。”試験”なのが気にかかりますがJSmartyもポストしましょうか(検討中)公開SVNサーバ欲しいぜ!(シェル利用可な奴) SF.jpの件はいいのですがhttp://www.ipa.go.jp/jinzai/esp/2006mito2/koubokekka.html#Namikiに…

文字列を1つ1つの文字の配列にする

'foo'を['f','o','o']にする際に以下のコードがどちらが早いか試行したのでメモ。T01は正規表現を使って分割して配列にした。T02はcharAtで一つ一つ取り出して配列にした。 実験コード function T01(s){ return s.split(/(.|\r?\n){0}/); }; function T02(s)…

12月の東京

来月東京に行く用事が出来たので12月の東京って寒いのかなぁって考えていたら…北海道より寒いはずがないことに気づく。そんな今日この頃。 ところでJSmartyを【0.1.0】→【0.1.1】にしました。動かないプラグインを動くようにいくつかフィックス。あと前回のi…

JSmartyのPlugin動作確認ページMVC版

JavaScriptでMVCなページをつくるにはどうしたらいいのだろうとあれこれ模索中なのですが一応それっぽいことが出来たので公開します。(JSmartyのPluginのオンラインデモなのでそうでもなくても公開してましたが…)VのエンジンはもちろんJSmarty利用です。方法…

script要素のtextプロパティ

http://d.hatena.ne.jp/brazil/20061105/1162722198 http://rails.office.drecom.jp/takiuchi/archive/100 の中で記述されているscript要素にinnerHTML突っ込んでもうまく作動しない件。僕のIE6でもできないのでMSの月例更新で仕様変更になったのかと勝手に…

クラスベースとプロトタイプベース

id:shogo4405:20060809:1155103019でJScriptで書いてコンパイルした実行ファイルは外部.jsファイルを読込んだ後にevalが出来るということを思い出して実験的にJSmartyのFileオブジェクトとPluginオブジェクトをJScript.NETに移植しようと試みた。 結果として…

0.1.0にしました

何をもって0.1.0なのかは不明ですが0.1.0をリリースしました。0.2.0系ではテンプレート処理系改築(とりあえず修正子プラグインの実装が優先です。)。0.3.0系ではJSANとの連携とか色々考えています。 0.1.0はテンプレート処理系は0.0.1と同等でバグフィックス…

VisualStudio付属JSCのコンパイラオプション

JSC(JScript Compiler)のコンパイルオプション /out: file /t[arget]:exe /t[arget]:winexe t[arget]:library /platform: /autoref[+/-] /lib: /r[eference]: /win32res: /res[ource]: /linkres[ource]: /debug[+/-] /fast[+/-] /warnaserror[+/-] /w[arn]: …

Objectをソートしたい

以下のコードを a,bar,foo,z順で中身を取り出したい。 o = { foo:'foo', a:'0', z:'1', bar:'0' } こんなコードで… まぁ一応 0, 0, foo, 1と列挙される。 a = []; for(i in o) a.push(i); a.sort(); // 配列のソート関数 for(i=0;i

Function#toString()とswitch構文

switchをつかった以下のようなコード 以下の現象ははFirefox(1.5.0.7)で確認しました(2では問題無)。Function#toString()は信じると痛い目にあうという話。switch構文は以下のようにかける(PHPでもOK!)*1 function foo() { switch(true) { case (typeof(a) !…

Firefoxクラッシュ

Firefox1.5.0.7なんですが…以下のJavaScriptでFirefoxがいってしまいます。なんか、むか〜しIE(id:shogo4405:20060903:1157257268)でも同じことありましたね(--;。いやはや。僕だけかな(?-?) Firefox2.0では正常にfalseを返してくれます。 location instance…

0.1.0系M1リリース

プラグイン実装関係見直していくつかのバグフィックスをしてます。AJAJAはこれから実装始めます(まだAJAJAは動きません!)(Firefox2.0で動くこと確認) http://www.starmsg.net/shared/archives/JSmarty-0.1.0M1.zip

デバッグのおともにvar_dump

JavaScriptでデバックしようとおもったら for(i in object){ document.write(i,'=>'object[i]) }; とかやってオブジェクトの中身をみたりFirebugをつかったりと色々です。 毎回、毎回 for(i in object)〜やるのは正直めんどくさいということで関数一発ででき…

JavaScriptでPHPの関数を実装する

JavaScriptでPHPとかの関数あったらいいなと思うときがあってJSmartyで必要になったので書きました。PHPと同名の関数のJavaScript版です。バグとかあるのは承知の上でまだ完璧に実装終っていませんが置いておきます。ご自由にどうぞ。(増えるかも) ダウンロ…

Dateオブジェクトの返す文字

今、PHPのstrftime関数*1をJavaScriptに移植しています。その為にDateオブジェクトで返される数字の範囲確認したので以下はそのまとめです。2006/10/22に調査実施しました。getYearは実装違うのgetFullYear利用したほうが無難。 IE6 Firefox Opera 備考 getF…

Prototypeパターン

dp

JavaScriptのprototypeではなくGoFのデサパタのPrototypeパターンです。Prototypeパターンは、クラスからインスタンスをつくるのではなく、あるインスタンスから別のインスタンスをつくるパターンのことをさす。 コードサンプル PHPでは無理矢理感が否めない…

JSmartyで textarea 内の文字列をテンプレートとして利用したい

JSmartyではXMLHttpRequestの同期取得でテキストファイルを取得してテンプレート処理しているのですが textarea内の文字を利用したいと思って以下のようなプラグインを書いてみました。具体的には<textarea id="foo">{$foo}</textarea>の文字列をjsmarty.fetch('innerHTML:foo');として{$fo…

JSONPの動作原理

やっと最近JSONPの動作原理を理解した。超頭悪い…。動作原理の私的メモ。JSONPって1と2の組合せの応用。いったい僕は何を勘違いしたのか…。 1.JavaScript関係の処理系は以下のような感じ もっともJSONPでは動的にDOM処理で<script>タグを生成するテクを利用している…

Iteratorパターン

下記例ではIteratorの実装を変更するだけで利用例を変更することなく列挙する順番を変更することが可能です。 サンプル 利用例 var i = new Iterator(['foo0','bar0','foo1','bar1']); while(i.hasNext()){ document.write(i.next()); }; 実装例#01 foo0, ba…

JavaScriptのオブジェクト指向入門

ちょっと色々なサイトで取り上げられているので二番煎じですがまとめておく必要がでてきたのでポストします。 JavaScript言語概要 JavaScript は 手続き型 (procedural) 言語と オブジェクト指向 (object oriented) 言語の両方として機能させられる。 オブジ…

TrimSpreadSheet調べ

アブストラクト TrimSpreadSheetはオープンソースなスプレッドシートエンジンである。記法はHTMLTableを利用し100% JavaScriptとCSSで記述されている。ライセンスはGPL2.0である。