2006-09-01から1ヶ月間の記事一覧

JavaScriptオブジェクト思考*1#01

prototypeを用いたクラスの作成と継承 クラス作成 Super = function(){}; Super.prototype = { prop1 : "prop1", prop2 : "prop2" }; クラスの継承 Basic = function(){}; Basic.prototype = new Super; Basic.prototype.method1 = function(){}; Basic.prot…

JavaScript Templates調べ

アブストラクト JavaScript Templates(以下JST)はTrimPathプロジェクトにおけるテンプレート処理(MVCのV)を担うライブラリです。基本SyntaxはFreeMarker, Velocity, Smartyなどに似ており、ライセンスは、APL(Apacheライセンス)とGPL(GPL2)のデュアルライセ…

0.0.1リリース

風邪ひいて終末に更新は無理そうなのでリリース。foreachとsection関係のロジック実装できたので必要な機能は揃ってきたと思います。ifはある程度実装済。 ダウンロード JSmarty-0.0.1(tgz形式 | zip形式) 変更内容(0.0.1M2→0.0.1) foreach,foreachelseと{$s…

Object#hasOwnProperty() break? continue?

Objectの要素を列挙するときfor(i in Object);ループをつかったりするのですが、prototype.js*1などによるObject汚染(いい言葉ではないな)がありその回避手段としてObject#hasOwnPropertyを使ったりしますが今回は、そのループ内でhasOwnPropertyをつかった…

PEARのText_Wiki

PHP

ちょっと最近Wiki関係をいじるの必要がでてきたのでさくさくとライブラリを書いているのですが(PHPとJavaScript)いかんせんHiki記法やらHatena記法やらPukiWiki記法などWikiの方言があってそして各記法もそれぞれに微妙に違うので困り果てています。 全く記…

IEでHTMLElement.prototypeの代替手段

FireFoxなどにあるHTMLElementのprototypeに共有の便利メソッドを突っ込みたいという欲求があるんですがIEでは実装されていないのでうまくいきません。googleっても出てこねぇよ!ということで仕様読む。MSDN見ていたらどうやらIEではDOMイベントなどの定義…

エレメントの位置固定

よくJavaScriptでスクロールしても同じ位置にエレメントを固定させているテクがあり実装されているところも少なくない。でも僕はあんまり好きではない。というのもスクロールさせたさいに”チラツク”から嫌いです。ちらつかなければな…と思いこんなコードを実…

JSmartyのドキュメントとか

こっちのwikiでやることにします。http://wiki.10kii.com/JSmarty/。更新とかはマイペースなのですがJSmartyファンなかたはこちらも宜しくお願いします。パスワード制限とかてないです。そしてHiki記法とHatena記法違いさときたら以下rya。カラートーン変え…

DOMに便利メソッドを突っ込む

IE用のgetComputedStyle互換コード書直し if(!this.getComputedStyle) { getComputedStyle = function(element) { element.getPropertyValue = getComputedStyle.getPropertyValue; return element; }; getComputedStyle.getPropertyValue = function(prop) …

TrimQueryの調べ

アブストラクト TrimQueryはTrimPathプロジェクトにおけるJSONデータをSQL構文で操作可能にするライブラリである。基本SQL SyntaxはSELECT ... FROM、WHERE clauses、GROUP BY、HAVINGなど基本的なものからself joins、LIMITなど利用可能。ライセンスはGNU P…

DOMのエレメントのスタイル属性を取得するコード

昔DIV要素のwidthやheightをスタイルシートで定義してそのdocument.getElementById('foo').style.widthとか取得できなくて(当然ですが…)悩んでいました。別件で同じようなことする必要でてきて書き直しましたのでポスト。 DOMのエレメントのスタイル属性を取…

古き時代の良きツール

最近はFirefox君やらFireBugなどが出てきてデバッグも便利になりましたけどIEでデバッグしようと思ったら途端に効率悪くなる今日この頃。昔から使っていたので知っている人もいてたりいなかったりすると思うので紹介。IEでデバッグするときは alert()か for(…

TrimPathの調べ

なかなか検索しても出てこないからTrimPathについてしばらく調査します。とりあえずTrimPathプレジェクトのプロダクトは以下の通り。 TrimPathのプロダクト JavaScript Templates (JST) JavaScript Templates(以下JST)はTrimPathプロジェクトにおけるテンプ…

GeckoActiveXObject

Firefoxでjavascript:alert(typeof(GeckoActiveXObject));でfunctionが返ってくる。この子いったい何者(?-?) wmp = new GeckoActiveXObject("WMPlayer.OCX.7"); // 問題無 fso = new GeckoActiveXObject("Scripting.FileSystemObject"); // 駄目。怒られる a…

Packages, java, sun, netscapeここら辺のお話

JavaScriptではJavaとの連携がすぐできるように実装されている。それを実現するのがPackages, java, sun, netscapeであり仕様はhttp://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Packagesこの辺に記載ある。簡単なサンプ…

0.0.1M2リリース

0.0.1M2をこっそり配布します。AJAJAに対応しました。AJAJA(サーバーサイド)とクライアントサイド自動判別にいたしました。なので同一のJSmartyでサーバーサイド・クライアントサイド両方いけます。サンプルはhttp://www.starmsg.net/shared/archives/id200…

AJAJAで動かす。

うごく → http://www.starmsg.net/shared/archives/id20060907.zip 僕は動いた。index.aspにアクセスすると動きました。AJAJAが動く環境でお試し下さい。追記:文字エンコード指定間違っていて文字化けしていたので修正しました。最初とは違うアーカイブです…

JavaScriptとPHPを連携させて遊んでみる

内容としてはhttp://d.hatena.ne.jp/shogo4405/20060825/1156489703の続編です。コマンド叩ける関数あれば他の言語でもいけるかと思います。 先に結果から PATH_INFO使っているのでApacheの設定次第ではこんな感じで直接.jsが動いてるかのように見えます。そ…

文字列出力のラッパー

ブラウザ側とシェル(SpiderMonkeyやJScript.NET)での文字列出力の実装が違うので(まあ当然だけど。)SSとCSで互換の文字列出力のクロス関数書いてみた。 その1 global = this; Print = function() { if(global.document) return document.write; return print…

FileI/OとかCharsetとかその辺の話をテキトーに

JSmartyではコンパイラクラスで毎回毎回動的にテンプレート関数を作っているのでJemplateのようにあらかじめコンパイルしたものを読込む方式にもできたほうがいいのではないかと思う。IISやAJAJAでサーバーサイドでコンパイルしたテンプレートをクライアント…

各社Widget私的まとめ

Yahoo!Widget日本語版が出たようなので各社いろいろなWidgetが出ているので私的にメモっておきます。イロイロWidgetありすぎて何使えばいいんだろうか(使わないのも一つの選択肢)Yahoo!WidgetはJavaScriptでWidget開発できて素敵。 各社のWidget Yahoo! Yaho…

0.0.1M1リリース

Compilerクラスをうたうだと書きなおしていたので時間かかってしまった。とりあえずフィルター機能と修正子プラグインを利用可能できる状態で0.0.1としたいです。id:shogo4405:20060727:1153977238 実装されたクラス JSmarty.Fileクラス JavaScriptでファイ…

IEの落し方

id:starocker:20060901:p1で紹介されている”たった1行のJavaScriptコードでInternet Explorerをクラッシュさせる方法”で昔同じようにクラッシュしたがことがあったのでそのときのコードのいくつかのサンプル。 紹介されているコード もっと短くなりますね。…

気づかなかったコード

気づかなかったStringの関数として利用方法 str = String('str'); ary = Array('p1','p1'); obj = Object(); alert(typeof(str)); // string alert(typeof(ary)); // object alert(typeof(obj)); // object alert(ary[0]); // p1 alert(ary[1]); // p2なんの…