2009-01-01から1年間の記事一覧
http://pigs.sourceforge.jp/blog/20091232/perry.zip zip ファイルを解凍し、perry.htm を IE で開きます。 文章を選択するか [say] ボタンをクリック ActiveX の実行を許可しますか? と聞かれたら、許可してください。 だいたい、小学校三年生ぐらいだった…
submit, focus, blur, change をクロスブラウザにする方法を追記しました。 最新版のコードを追記しました。 デモを追加しました。jQuery.live() は document.addEventListener(type, fn, capture) で、天辺までバブルアップしてくるイベントを拾う 拾ったイ…
より効率的なコードに差し替えましたhttp://dev.w3.org/2006/webapi/selectors-api2/#matchesselector と id:javascripter さんの記事 Selectors APIのmatchesSelectorと、動的なページでのイベント処理via http://d.hatena.ne.jp/javascripter/20091018/125…
先ほど固めてみました。 zip: http://code.google.com/p/uupaa-js/downloads/list ブランチ: http://code.google.com/p/uupaa-js/source/browse/#svn/tags/0.7_alpha2 ザックリとした Change Log -uu-background: -uu-canvas(ident) を追加 uu.ajax.queue(),…
WebKit の先進的な機能(background: -webkit-canvas) にかなり近い機能 -uu-canvas を実装してました。 <html class="ifnojs"><head><meta charset="UTF-8" /><title></title> <style> div.nodebox { -uu-background: -uu-canvas(ident) no-repeat; width: 600px; height: 400px; border: 0px none; } </style> </meta></head></html>
Opera上で動作する uuCanvas.js と uupaa-0.7.js は、HTML5 Canvas Text API(fillText, strokeText, measureText ...) の機能を SVGElement 上でテキストを描画 Canvas 上に drawImage で描画 document.createElementNS("http://www.w3.org/2000/svg", tag);…
CSS を利用したアニメーションでは、必ず現在時刻を取得するコードが入ります。 var now = +new Date; ECMAScript-262 5th では Date.now() が新しく追加されました。 Date.now() は +new Date と同じ機能(現在時刻を数値で返す)を持ちながら、new の必要が…
ECMAScript-262 5th で新しく追加された関数/メソッドの対応状況を調べてみました。 Ch3: Google Chrome3.0.195.38(stable) Ch4: Google Chrome4.0.266.0(dev) Fx3.5: Firefox3.5.3 Fx3.6: Firefox3.6β5 Op10.10: Opera10.10 Op10.50: Opera10.50α Sa3: Safa…
var ary1 = [1, 2]; var ary2 = [1, 2]; プリミティブな値(文字列とか数値)だけが格納されている2つの配列(ary1 と ary2)の内容が、同じかどうかを確認したい場合に… function like(ary1, ary2) { if (ary1.length !== ary2.length) { return false; } var v…
uu.ajax.queue は順番や待ち合わせなどの規則を指定した Ajax リクエストを可能にします。 uu.ajax.queue(cmd, [url, ...], [option, ...], [fn, ...], lastfn, ngfn) cmd には "0+1+2" や "a>b+c>d" などのような規則を文字列で記述します a+b なら a と b …
今日は、CSSアニメーション機能を担当する uu.tween.js のリライトをしていました。uu.tween.js を組み込むと、CSS の色, サイズ, 位置を利用したアニメーションが可能になります。これ自体はよくある機能なのですが、他のライブラリにない特徴として、CSSプ…
[javascript][sprintf] で検索してたどり着く方が多いようなので、uupaa-0.7.js から切り出して張ってみます。 /*!{id:"uupaa.js",ver:0.7,license:"MIT",author:"uupaa.js@gmail.com"}*/ window.sprintf || (function() { var _BITS = { i: 0x8011, d: 0x80…
uupaa.js の速度的な配慮についてまとめた資料を更新しました。 http://handsout.jp/slide/1894
ちょっと手直しして、 メインロジックはそのまま コード量を 12% DOWN minify + zip で 1.1kB option = 0x0 の速度を 20% 〜 35% UP IE8 1.375ms ⇒ 1.094ms IE6 1.875ms ⇒ 1.218ms option = 0x0 で列挙するプロパティを ホワイトリスト式 ⇒ ブラックリスト式…
IE6, IE7, IE8 用の window.getComputedStyle の実装(uu.cstyle.js)です。 uupaa.js 0.7 core の一部として開発していますが、これ自体はライブラリに依存していないため単体でも動きます。 uu.cstyle.js /*!{id:"uu.cstyle.js",license:"MIT",author:"uupaa…
uupaa.js 0.7 の修正履歴です。興味がない方は読み飛ばしてください。 uu.hash と uu.attr の I/F を修正しました uu.hash でカンマ(,)とスペース以外のスプリッターを利用可能にしました デフォルトのスプリッターは(,) です。 第二引数にスプリッターを指…
uupaa.js 0.7 の修正履歴です。興味がない方は読み飛ばしてください。 window.xconfig を定義すると大まかな挙動を設定できる window.xconfig を uupaa.js ロード前に定義すると、大まかな挙動を設定できます。 現在のところ、以下の設定項目があります(変更…
uupaa.js 0.7 の修正履歴です。興味がない方は読み飛ばしてください。 ついったーから転記 HTML load完了 ⇒ コメントノード除去 ⇒ querySelectorAll高速化 というアイデアが浮かんだ。IE の getElementsByTagName("*") はコメントノードを列挙するので、その…
14ヶ月ぶりに uupaa.js をリリースします。内容は、 HTML5 タグのサポート HTML5::Canvas CSS3 プロパティのサポート Gradients, Rounded corners, Drop shadows, Multiple backgrounds, Reflection Auto Viewbox IE boost 透過png, max-width, position: fi…
私は、jQuery ユーザではないのですが、 今日は jQuery プラグインを 3つご紹介します(作者は私ではありません)。 Windows7 風メニュー http://www.coders.me/lang/es/web-html-js-css/javascript/mootools/buttons-like-windows-7-with-js-css デモ http://…
<script>k="";document.onkeyup=function(e){k=/38384040373937396665/.test(k+=(e||event).keyCode)?(alert(573),""):k.length>99?"":k}</script>137文字
CSSにデータを埋め込む方法を考えてみた(CSS2KB) - latest log の続きCSS2KB とは CSS にちょっとした情報を埋め込むトリックの1つ。 list-style: url(1dot.gif?key=val) から key=val を取り出せるというもの。 CSS2KB の難点は、ダミーファイル(1dot.gif) …
久しぶりに uuAltCSS.js の話を。 内容的には HTML5 + CSS3 + レイアウトデモ - latest log の続き。uuAltCSS を導入すると古いブラウザでも box-shadow などの CSS3 の機能が利用可能になります。 ただ、uuAltCSS 上で box-shadow を利用する時は、影を描画…
うやむやにサポートを切るのは忍びないので、ちゃんと私の考えを書いておきます。 自作ライブラリから、Firefox2とOpera9.2xのサポートを削ります。スキル不足でサポートできない訳では無く、開発リソースを集中する必要があるからです。 どうしてもサポート…
<script id="js" src="http://example.com/hoge.js"> alert("hoge!"); </script>script 要素に src を設定していると、script 要素内部のテキストは JavaScript としては理解されず、実行されません。こうするとテキストとして取得したり、実行できたりします。 var node = document.getElementById("js"); var txt = wi…
window.uudraw を window.xcanvas に、window.uuboot を window.xboot に変更しました。uupaa.js / uuCanvas.js コードリード用のエントリです。 I/F をスッキリさせたかった → Silverlight の初期化周りの問題を解決した Silverlight の初期化処理を非同期…
uupaa.js / uuCanvas.js / uuAltCSS.js コードリード用のエントリです。uuCanvas.js のコードを眺めてて、 // CanvasRenderingContext2D.prototype.fill function fill(wire, path) { var fg = ""; // fragment : : this._elm.insertAdjacentHTML("BeforeEnd…
元々のタイトルは「要素数 n の密な配列を作ろうとして空回りした(JScript の Array をクロスブラウザ化)」だったんですが、ちょっと変えました。 Firefox2〜3 や IE6 〜 IE8 では、ECMAScript 5th で追加された Array.map などの便利メソッドの利用に制限が…
ここ最近 DOM + CSS + JavaScript な Widget を作ってます。タブとかスライダーとかです。 Wiget の見栄えを切り替える方法(テーマ)も実装してますが、CSS とテーマ情報を格納するファイルが、別々のファイル(CSS + js)に分かれてしまうので、どうにかしてこ…
JavaScript で作った UI 部品の話になると、 jQuery UI とか、jQuery TOOLS あるじゃん とか良く聞きますね。 jQuery UI http://jqueryui.com/demos/ ソータブルなリスト http://jqueryui.com/demos/sortable/default.html スライダー横 http://jqueryui.com…