タグ

ブックマーク / uupaa.hatenadiary.org (7)

  • uupaa.js と jQuery を機能を中心にざっくりと比較 - latest log

    Classの継承についてサンプルを追記しました。 jQuery の特徴的な構文を uupaa.js で表現する方法を追記しました。 デバッグ支援機能について追記しました。 特徴 uupaa.js jQuery 初版 version 0.1 (2008-06-07) version 1.0 (2006-10-27) 最新版 version 0.8 (2010年末を予定) version 1.4.2 (2010-02-19) ライブラリの目標 WebOSのフロントエンド 不明 来の用途 WebOS / WebApp DOMの操作とサイトの装飾 使われ方 導入実績なし 小〜中規模サイト / ポータルサイト等 想定されるコアユーザ層 エンジニア デザイナー / コーダー / エンジニア 名前空間 uu (1つ) jQuery と $ (2つ) ライブラリによる識別子プリフィクスの予約 uu また

    uupaa.js と jQuery を機能を中心にざっくりと比較 - latest log
    retlet
    retlet 2010/09/13
  • Array.forEach や Array.map は Firefox2〜3 や IE で利用できないケースがある - latest log

    元々のタイトルは「要素数 n の密な配列を作ろうとして空回りした(JScript の Array をクロスブラウザ化)」だったんですが、ちょっと変えました。 Firefox2〜3 や IE6 〜 IE8 では、ECMAScript 5th で追加された Array.map などの便利メソッドの利用に制限があります。うっかりやっちゃうと、非常に面白くないことになります。 元々は、nanto_vi さんのつぶやきを見て、 @teramako Array.apply(null, Array(10)).map(function (e, i) i) とか。 http://twitter.com/nanto_vi/status/5014927085 そういえば以前、要素数 n の密な配列を作るのに Array.apply(null, Array(n)) が使えないかと思ったけど、JScriptでダメだ

    Array.forEach や Array.map は Firefox2〜3 や IE で利用できないケースがある - latest log
    retlet
    retlet 2010/04/08
  • とある最短のIE判定コード - latest log

    ちょっと前まで、IEかどうかを判別する世界最短のコードは、「IEは垂直タブ(\\v)を理解しない」バグを利用した以下のコードでしたが、 '\v'=='v' // 9byte via Ajaxian その後 7byte 版が登場し、去年まではこれが世界最短とされていました。 !+"\v1" // 7byte via webreflection.blogspot.com そこで IEでは、var ary = [1,2,]; ary.length == 3; が成立するため、これを利用したより短い判別コードを考えてみました。 [,]!=0 // 6byte(IEでtrue, IE以外でfalse) +[1,] // 5byte(IE以外で1, IEでNaN) 6byte版で、世界最短かなぁ〜とか思ったのですが、念のため調べてみたら、 webreflection.blogspot.com の 20

    とある最短のIE判定コード - latest log
    retlet
    retlet 2010/01/26
  • JavaScript で、画像本来のサイズ(幅, 高さ)を取得する方法 - latest log

    Opera で DOM Mutation Event を使用するコードを追記しました。 まとめを追加しました。 Opera パート2に取得できないケースが見つかったため、パート3 を追加しました。 rhino.jpg(幅:300px, 高さ:227px) を、 <img id="rhino" src="rhino.jpg" width="100" height="75" /> と、100 x 75 で表示している場合を例に、画像来のサイズを取得する方法をご紹介します。 Firefox, Safari, Google Chrome なら image.naturalWidth と image.naturalHeight を利用します。 image.naturalWidth と image.naturalHeight の初期値は 0 です。画像の読み込みが完了した時点で適切な値に更新されます。

  • CSSセレクタで属性だけじゃなく、スタイルもクエリーできちゃうとすごく便利(かも) - latest log

    CSSセレクタって、CSSのルールで絞り込みはできても、CSS(スタイル)で絞り込みができないんだ…」って思ったことはありませんか? 実験的なテーマになりますが、styleプロパティの値を、CSSセレクタでクエリーできるように構文を拡張してみました。 # 構文や機能に対する改善案をお待ちしています。 スタイルで絞込みを行う場合の基的な構文は、E { prop operator value } 以下のバリエーションを用意しました。 prop の値は、計算済みの値(currentStyle または getComputedStyle())の値と比較します。 IEで、currentStyle(element).width === "auto" なケースがありますが、そのような場合でも "auto" を px単位の値に自動的に変換したうえで比較します(つまり div{width="auto"}

    CSSセレクタで属性だけじゃなく、スタイルもクエリーできちゃうとすごく便利(かも) - latest log
    retlet
    retlet 2009/01/17
  • 正規表現のベンチマーク(String.match と RegExp.exec のざっくりとした違い) - latest log

    2009-01-12追記 タイトル修正しました。 2009-01-14追記 String.indexOf と RegExp.test のスコアが逆に書かれてていたのを修正しました。 String.match ばかりで、RegExp.exec を使ったことがありませんでした。 ちょっと気になったので色々とベンチマークを取ってみました。 TEST TIMES IE6 Fx3.0 Fx3.1 (JIT) Safari3 Chrome1 (JIT) A. match(/\s*/) vs match(/ */) "aaaaaaaaaaaa".match(/\s*aa\s*/) 1000000 7203 1714 327 2375 2128 "aaaaaaaaaaaa".match(/ *aa */) 1000000 7156 1638 297 2328 2148 B. RegExp.exec vs

    正規表現のベンチマーク(String.match と RegExp.exec のざっくりとした違い) - latest log
    retlet
    retlet 2009/01/14
  • Mutation Event は、薬にも毒にもなるから気をつけて - latest log

    jQuery1.3β みた(jQueryのコードをまじめに見たのは、これが初めてかも) 比較演算子(==)が厳密比較演算子(===)に jQuery の CSSセレクタが、Sizzle 0.9 になった。 以前の Sizzle に存在した“Firefox,Operaでクエリ結果をキャッシュする機能”が、Sizzle 0.9 からはカットされてる。 Sizzle 0.9 から キャッシュ機能 が消えたわけを想像してみる CSSセレクタの結果をキャッシュする方法の一つに、Mutation Event がある。 document.addEventListener("DOMSubtreeModified") ってやると、DOMツリーの全ての改変をフックしてくれる。 ちょっと前の Sizzle は、"DOMNodeInserted", "DOMNodeRemoved", "DOMAttrModifi

    Mutation Event は、薬にも毒にもなるから気をつけて - latest log
    retlet
    retlet 2008/12/29
  • 1