タグ

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

  • HTML5の新要素をinnerHTMLで生成できないバグを回避する - latest log

    IE6〜IE8のinnerHTMLには問題が多く、そのひとつに、HTML5の新要素をわせると悪夢のようなDOMツリーを生成するというものがあります。 var div = document.createElement("div"); div.innerHTML = "<section>section</section>"; document.body.appendChild(div); 上記のコードを実行すると、body以下にはこのような構造ができてしまいます。 <body> <div> section </SECTION> </div> </body> どうやら、innerHTML に与える文字列を div でラップし、div要素の前に何か一つ以上のダミーの文字列を設定しておき、あとでアンラップすれば上手くいくようです。 http://jsdo.it/uupaa/IEInnerHTMLB

    HTML5の新要素をinnerHTMLで生成できないバグを回避する - latest log
    jdg
    jdg 2011/02/07
  • 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
    jdg
    jdg 2010/09/10
  • WEB+DB PRESSで連載始まるよ - latest log

    初めての人はこんにちは! いつも遊んでくれる方々もコニチハ! WEB+DB PRESS という技術情報誌で、続き物がはじまるよ。 今回のお題は「JavaScriptの高速化」です。 お正月明けに、「JavaScriptでなんか書いてよ」→「…ぇとuupaa名義でもOK?」→「ええよ」から早半年。 さて… 半年後のWeb業界のトレンドってなにさ? 返事をしたは良いが、書いてから書店に並ぶまで半年も間があいてしまうので、中の人はちょっと悩みましたよ。 比較的流れが遅い、組み込み系やサーバーサイドならまだしも、Web系(しかもクライアントサイド)は激流。 なもんで、ショートスパンなトレンドではなく、ロングテールなネタ「高速化」で書き始めましたよ。 棒グラフが紙かくしに 原稿には棒グラフ類とか表とかたくさん詰め込んだのですが、グラフ類は紙面では旅に出てました(詰め込み過ぎイクナイ)。そこは残念 あ

    WEB+DB PRESSで連載始まるよ - latest log
    jdg
    jdg 2010/06/21
  • ECMAScript-262 5th Edition(ES5) 予約語一覧 と その仲間達 - latest log

    ES5 の予約語は以下の4種類 Keyword FutureReservedWord NullLiteral null BooleanLiteral false true Keyword 以下のトークンは、Identifiers には使用できません。 debugger は ES5 で FutureReservedWord から Keyword に昇格しました。 break do instanceof typeof case else new var catch finally return void continue for switch while debugger function this with default if throw delete in try debugger はステートメントになりました。 // DebuggerStatement : See 12.15 debu

    ECMAScript-262 5th Edition(ES5) 予約語一覧 と その仲間達 - latest log
    jdg
    jdg 2010/03/25
  • IE9 preview - JavaScript Side - latest log

    野薔薇を守るトゲのような表現を改め、春のたおやかな小川のように、夏の涼しい木漏れ日のようにやわらかくしてみました。 IE9 preview 版でましたね → http://ietestdrive.com/ 動作させるには、Windows VISTA SP2 + IE8 または Windows 7 が必要です。快適に動作させるには、GPUを積んだデスクトップPCが必要。ネトゲをプレイできないようなノートPCで動かそうとすると、強烈なガクガク感が春の陽気に誘われて、こくっこくっと今にも居眠りしそうな小学生のごときレスポンスが。 「GPUを使うから速い」のだそうですが、IE9は、OS限定、動作環境限定で、低レベルレイヤー(DirectX)を直叩きもできる恵まれた環境にあります。さまざまなOSや環境をサポートする他のブラウザのように、オーバーヘッドを支払う必要がないので、そのへんの事に触れずにIE

    IE9 preview - JavaScript Side - latest log
    jdg
    jdg 2010/03/17
  • uupaa.js 基礎知識なんちゃってマスター - latest log

    uupaa.js 0.7 の概要を、1分でざざーっと分かるように書きました。 これ自体10分で書いてるので、ノープラン・ノーチェックでお届けします。 uupaa.js のビルド uupaa.js というファイルはありません。 必要な機能を組み合わせ、ユーザがビルドして作ります。 ビルドコマンド ビルド方法を説明したスライド: http://handsout.jp/slide/1909 b.php がビルドコマンドになります(要PHP)。パッケージ名のほかに、-m -y -g -j などのオプションを指定できます。 build/b.php パッケージ名 -m -m, -y, -g は MS, Yahoo, Google 製のコンパイラで Minify します。 -j はコメントの削除とファイルの結合だけを行います。 ビルドに成功すると、 uupaa.js と build/mini.パッケージ

    uupaa.js 基礎知識なんちゃってマスター - latest log
    jdg
    jdg 2010/02/22
  • Array.concatで配列のクローン(コピー)を作成する - latest log

    JavaScriptで配列のクローンを作成しようとして、悩んでいる方もいらっしゃるようですが、 以下のように、for ループや再帰なコードを手書きする必要はなくて、Array.concat() で配列のクローンは作成できます。 Array.prototype.clone = function(){ return Array.apply(null,this) } Array.prototype.clone = function() { if ( this[0].constructor == Array ) { var ar, n; ar = new Array( this.length ); for ( n = 0; n < ar.length; n++ ) { ar[n] = this[n].clone(); } return ar; } return Array.apply( null,

    Array.concatで配列のクローン(コピー)を作成する - latest log
    jdg
    jdg 2010/01/17
  • +new Date を Date.now() に差し替えると200〜400% 高速化も - latest log

    CSS を利用したアニメーションでは、必ず現在時刻を取得するコードが入ります。 var now = +new Date; ECMAScript-262 5th では Date.now() が新しく追加されました。 Date.now() は +new Date と同じ機能(現在時刻を数値で返す)を持ちながら、new の必要がないため速そうです。 ベンチ <!doctype html><html><head><title></title> </head><body> <script> window.onload = function() { Date.now || (Date.now = function() { // Date.now が実装されていないブラウザ用の実装 return +new Date; }); job1(); job2(); } function job1() { var

    +new Date を Date.now() に差し替えると200〜400% 高速化も - latest log
    jdg
    jdg 2009/12/23
  • 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