タグ

uupaaに関するedvakfのブックマーク (14)

  • catchステートメントでは適用されますが、throwステートメントでは適用されません。 - latest log

    これは、IE で throw "hogehoge" と記述した場合に発生する「構文エラー」のメッセージです。 正しく例外を発生させるには、 throw new Error("あっぷるあっぷる") のように記述してください。 window.onerror = function(errorMsg, url, lineNumber) { alert(errorMsg); alert(url); alert(lineNumber); return false; // true なら例外はユーザに表示されません(ログに残ります) } window.onload = function() { if (1) { throw new Error("たぶれっとたぶれっと"); } } IE では動かないよ throw "Error" といったコードは、IE 以外のブラウザでは動きますが、IEでは動きません。

    catchステートメントでは適用されますが、throwステートメントでは適用されません。 - latest log
    edvakf
    edvakf 2010/01/27
  • Web Storage の残容量を調べてみた - latest log

    Web Storage に保存可能なデータ量を計測してみました。 Browser Max Firefox3.5.3 5MB Firefox3.6β5 4.99MB iPhone 3.1.2 2.49MB Safari4 50MB以上 Chrome 4 2.49MB IE8 2.22MB Opera10.50 2.49MB (バッド)ノウハウ iPhone で容量オーバーを回避する 既存のデータと上書するデータの合計が 2.4MBを超える場合に容量オーバーが発生します。回避するには、一度空文字列で上書します。 var db = window.localStorage; db["a"] = ""; // 空文字列で上書(削除) db["a"] = "......."; // 設定 IE8 には残量を示す localStorage.remainingSpace がある IE8 の localSt

    Web Storage の残容量を調べてみた - latest log
    edvakf
    edvakf 2010/01/07
  • JavaScript で 形態素解析ってこうですか? わかりません >< - latest log

    http://pigs.sourceforge.jp/blog/20091232/perry.zip zip ファイルを解凍し、perry.htm を IE で開きます。 文章を選択するか [say] ボタンをクリック ActiveX の実行を許可しますか? と聞かれたら、許可してください。 だいたい、小学校三年生ぐらいだったはず。 ロジックは3日で作って、辞書は2〜3日とか、そんな感じ。

    JavaScript で 形態素解析ってこうですか? わかりません >< - latest log
    edvakf
    edvakf 2009/12/31
    これ書くのにどれぐらいかかるんだろう。試せないのが惜しい。
  • ストレスの無いCSSアニメーションを - latest log

    今日は、CSSアニメーション機能を担当する uu.tween.js のリライトをしていました。 uu.tween.js を組み込むと、CSS の色, サイズ, 位置を利用したアニメーションが可能になります。これ自体はよくある機能なのですが、他のライブラリにない特徴として、CSSプロパティ個別に easing 関数を割り当てられます。 デモ http://pigs.sourceforge.jp/blog/20091216/ ノード3個 と 15個版があります。ノード数が違うだけで何身は一緒です。デモにある円弧軌道は、left, top に別々の easing 関数を割り当てて実現しています。 easing 関数 デフォルトの easing関数 は easeInOutQuad です。plug/easing/uup.easing.js を組み込むと他の関数を利用できます。 http://code

    ストレスの無いCSSアニメーションを - latest log
    edvakf
    edvakf 2009/12/16
  • 速くてコンパクトな JavaScript 用の sprintf の実装 - latest log

    [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: 0x8011, u: 0x8021, o: 0x8161, x: 0x8261, X: 0x9261, f: 0x92, c: 0x2800, s: 0x84 }, _PARSE = /%(?:(\d+)\$)?(#|0)?(\d+)?(?:\.(\d+))?(l)?([%iduoxXfcs])/g; window.sprintf = _sprintf; function _sprintf(fo

    速くてコンパクトな JavaScript 用の sprintf の実装 - latest log
    edvakf
    edvakf 2009/12/14
  • CSS2KB をちょっと改良 + CSSファイル に Canvas の描画ルーチンを埋め込む - latest log

    CSSにデータを埋め込む方法を考えてみた(CSS2KB) - latest log の続き CSS2KB とは CSS にちょっとした情報を埋め込むトリックの1つ。 list-style: url(1dot.gif?key=val) から key=val を取り出せるというもの。 CSS2KB の難点は、ダミーファイル(1dot.gif) が実際に必要だった点 ダミーファイルのロード ⇒ 通信が余計に発生するよね ダミーファイルが 404 だと? ⇒ key=val が取り出せない ⇒ それってまずいよね ダミーファイルが邪魔なので、もうちょっと考えてみた 試しに、URL を list-style: url(?key=val) だけにしてみたら ダミーファイル(1dot.gif)が不要に CSS のファイルパスが補完された形で取得できる ⇒ 補完された CSS のURLがついでに取れてくる

    CSS2KB をちょっと改良 + CSSファイル に Canvas の描画ルーチンを埋め込む - latest log
    edvakf
    edvakf 2009/11/25
  • 2分でわかる uupaa.js の Debug Navigation :: handsOut.jp

    スライド1: 2 分でわかる uupaa.js~ Debug Navigation ~uupaa.js@gmail.com スライド2: まず スライド3: 階層ナビゲーション• スタックトレースを表示する機能– Firebug などに搭載されている– 今日の主役は、この「ナビ子」さん スライド4: uupaa.js と ナビ子function xboot(uu) {}uu.css.size.get(uu.id("id"));• ナビ子「今ここよ」• ユーザ「ありがとう」uucsssizeget < xboot < _fire スライド5: $(function() {});jQuery と ナビ子$("#id").width();• ナビ子「今ここよ」• ユーザ「…え ? 」• ナビ子「え ? 」curCSS() < (?)() < each() < getWH< css() <

    edvakf
    edvakf 2009/11/12
  • 2分でわかる uupaa.js の Node I/F :: handsOut.jp

    スライド1: 2 分でわかる uupaa.js~ Node I/F ~uupaa.js@gmail.com スライド2: uupaa.js では• Node と Element を区別– DOM ツリーに参加している HTML の断片は Node( ノード )– DOM ツリーに非参加な HTML の断片は Element( 要素 )var div = document.createElement("div");// DOM ツリーに参加していないので「 div 要素」document.body.appendChild(div);// DOM ツリー参加した時点で「 div ノード」 スライド3: Node を作ってみよう スライド4: HTML で<div class="one" title="two"><p onclick="alert(3)">4</p></div>// 62

    edvakf
    edvakf 2009/11/09
  • canvas 周りの I/F を変更しました。 - latest log

    window.uudraw を window.xcanvas に、window.uuboot を window.xboot に変更しました。 uupaa.js / uuCanvas.js コードリード用のエントリです。 I/F をスッキリさせたかった → Silverlight の初期化周りの問題を解決した Silverlight の初期化処理を非同期から同期処理に書き換えることが出来たので、uuCanvas.js の初期化系の I/F を変更します。 経緯とか、何が問題だったのか とか uuCanvas.js は元々「excanvas.js の機能不足を何とかしよう」を基点にスタートしたプロジェクトです。 excanvas.js は動的に生成した canvas の利用にちょっとしたコツが必要で document.body.appendChild(document.createElemen

    canvas 周りの I/F を変更しました。 - latest log
  • 良く訓練されたスライダー - latest log

    JavaScript で作った UI 部品の話になると、 jQuery UI とか、jQuery TOOLS あるじゃん とか良く聞きますね。 jQuery UI http://jqueryui.com/demos/ ソータブルなリスト http://jqueryui.com/demos/sortable/default.html スライダー横 http://jqueryui.com/demos/slider/default.html Drag http://jqueryui.com/demos/draggable/default.html Drop http://jqueryui.com/demos/droppable/default.html jQuery TOOLS http://flowplayer.org/tools/index.html UI の話だったら、jQuery よりも

    良く訓練されたスライダー - latest log
    edvakf
    edvakf 2009/10/13
    Web Forms 2.0 互換にすればいいと思ったり。
  • type detection - latest log

    2011-07-10追記 モダンブラウザでは、 typeof /^a/ は "function" ではなく "object" に修正されています。2009年10月(このエントリの初出)時点で /^a/("a") と記述可能な場合がありましたが、現在はエラーになります。 2010-01-21追記 http://d.hatena.ne.jp/uupaa/20100120/1263998056 2009-10-18追記 uu.type(new String('hoge'))とか渡した時4が帰ってきたりするので、プリミティブラッパー(ってJSで言うのか?)の判定を_TYPEに入れたほうがいいのかもしれませんね。 by tera コメント欄でのご指摘を受け、以下のコードを追記しています。 "[object Boolean]": 0x40, // uu.type(new Boolean(false))

    type detection - latest log
    edvakf
    edvakf 2009/10/08
  • /^[a-z]+(\d+)/("abc123") という書き方が許容されているみたい(IE除く) - latest log

    Safari, Chrome, Firefox, Opera では、 /^[a-z]+(\d+)/("abc123")とすると、 /^[a-z]+(\d+)/.exec("abc123")相当の動作をするようです。 IE だと「関数が見つからない」とエラーになります。 寝ぼけながら書いたコードが IE 以外だとまともに動いちゃったりして気がつきました。ちょっとしたサプライズです。

    /^[a-z]+(\d+)/("abc123") という書き方が許容されているみたい(IE除く) - latest log
    edvakf
    edvakf 2009/09/28
    コメント欄のやつは盲点だった!
  • Opera10が出たので、Opera9.2x のサポートを止めます。 - latest log

    uuAltCSS.js, uuCanvas.js, uuQuery.js でサポートするブラウザを変更します。 IE6 〜 IE8 IE6の後方互換モードはサポートしません。 Opera9.5x 〜 Opera10.0 Opera9.2x は今後サポートしません。 Firefox2.0 〜 Firefox3.5 Safari3.1 〜 Safari4.0 Safari3.0 はサポートしません。 Google Chrome2 〜 Google Chrome4 Chrome1 はサポートしません。 また、Opera9.2x 対策として入れ込んでいる以下のコード片をリポジトリから削除する予定です。 Opera9.2x の getComputedStyle("width") が他のブラウザと異なりボーダー幅を含んだサイズを報告する件に対するパッチ("height" も同様) // uuMeta.

    Opera10が出たので、Opera9.2x のサポートを止めます。 - latest log
    edvakf
    edvakf 2009/09/02
    もっと早くてもよかったと思うけど。
  • amachang の 「一行で IE の JavaScript を高速化する方法」を掘り下げてみた - latest log

    2009-11-12 ナビ子記法について追記しました 文 今日は、amachangさんの記事 http://d.hatena.ne.jp/amachang/20071010/1192012056 を 1mm だけ掘り下げ、IE 以外のブラウザでも document へのアクセスを速くする方法がないか、色々試してみます。 # 記事自体はずいぶん前に書き上げてたけど、公開するの忘れてたんだな。 C系を追加しました。C系は「ネストしたスコープからグローバル変数にアクセスするとどうなるか?」がテーマです。 試したこと 以下は様々な方法で document へのアクセス速度を計測します。 A系では、非日常的な方法で測定し、B系では実際の用法に近い形で測定します。C系では何重にもネストしたスコープから、グローバル変数にアクセスするとどうなるかを測定します。 A系 A0 は、素の document に

    amachang の 「一行で IE の JavaScript を高速化する方法」を掘り下げてみた - latest log
  • 1