IE9正式版ではなく IE9pp(IE9 Platform Preview) や IE9pp2 の現状について記載しています。IE9ppがDOMの仕様に合わせたため、IE8までとは互換性がなくなっている部分をちょこちょこ書いていきます。 IE9pp の event イベントハンドラが受け取る event オブ…
IE9正式版ではなく IE9pp(IE9 Platform Preview) の現状について記載しています。event.offsetX/Y や event.layerX/Y から相対座標を取得できますが、DOM Lv0 のため仕様が無く、互換性もありません。今日はそれらの非互換性について調べてみました。event.o…
パスワードを忘れちゃった時などに。 Firefox3.5+, Safari4+, Google Chrome, Opera10.10+ で動きます。IE9でも動くかもしれません 76byte javascript:document.querySelector("input[type=password]").type="text";void 0
http://info.cookpad.com/24contest http://info.cookpad.com/24contest_award応募して、落選したよ。 審査はすごく大変だと思うけど、またされずに結果がすぐ分かるのはステキだね。 覚えてること 「応募するからには、他の参加者もシステム的な要素を取り…
このエントリの趣旨は、「Base64的な処理だったら最初から Array で用意すればいいのに…」 じゃなくて、「どーしても、ここは String[indexer] が使いたいんじゃー」 ってケースを想定して読んでください。ちょっと例が悪かったです。近頃の JavaScript は、…
HTML5 で、ブラウザの機能として「音」を再生する仕様が追加されました 音を再生するには、<audio src="..." autoplay> を HTML に埋め込むか、new Audio(src).play() とします。仕様 ⇒ http://www.w3.org/TR/html5/video.html クロスブラウザ化する上での問題は2つ 1. 古いブラウザ向</audio>…
DOM構築完了またはそれ相当のタイミングで (どこかで定義されている)関数A をコールバックします。 function Z(){try{(new Image).doScroll();A()}catch(e){setTimeout(Z,0)}} +[1,]?document.addEventListener("DOMContentLoaded",A,!1):Z() 130byteで驚き…
uuStorage.js は、HTML5 の Client Side Storage (WebStorage) のフォールバックな実装です。http://uupaa-js-spinoff.googlecode.com/svn/trunk/uuStorage.js/README.htm中身は、以下のシングルトンなクラスで構成されてます。 Storage (Storage auto detec…
mousemove と elementFromPoint を使うと、マウスカーソル直下のノードを取得できます。 elementFromPoint のサポート状況 http://www.quirksmode.org/dom/w3c_cssom.html#t20 デモ http://pigs.sourceforge.jp/blog/20100401/test/uu.Class.ElementFromPoin…
以下の理由から、JavaScriptライブラリで、Google Chrome3 をサポートする必要はなくなったと考えます。 Google Chrome2 や3用のインストーラーを使うと、Chrome3 がインストールされます。 Chrome3 を起動していると、裏で Chrome4.1 がダウンロードされて…
ES5 の予約語は以下の4種類 Keyword FutureReservedWord NullLiteral null BooleanLiteral false true Keyword 以下のトークンは、Identifiers には使用できません。 debugger は ES5 で FutureReservedWord から Keyword に昇格しました。 break do instanc…
IE9 を含む様々なブラウザで <audio> や window.Audio の機能の一部を利用できるようにしてみました。Silverlight3+ がインストールされている、Firefox3.0, Firefox3.5+, IE8, IE9, Google Chrome3+, Safari4+ で動いてます。 # そのうち、Flash でも動作するよう</audio>…
HTML5 Canvas を IE で使えるようになるライブラリ uuCanvas.js の version 2.03 をリリースしました。http://code.google.com/p/uupaa-js-spinoff/今回は Flash backend で Pixel API をサポートしました。これらを使うとドットにアクセスできます。 ctx.cr…
uupaa.js コードリード用のエントリです。興味が無い方は読み飛ばしてください。 VML backend で ctx.drawImage(image) + 不透明度(globalAlpha) を有効にしました(条件あり) <vml:image> は opacity 属性が機能しません。そのため、<vml:image> ではなく、<vml:shape> <v:fill opacity="..." src="..." /> </v:shape> を使うことで、不透明…
昨日、「事実を示せ、数値で示せ、動画を提出しろ、フェアじゃないのは uupaa のほうだ」とご指摘がありました。感覚的なものを数値化するのは、ちょっとハードル高いので、IE8 と IE9 を並べ、「いつものデモ」を動かした様子を動画にしてみました。http://…
野薔薇を守るトゲのような表現を改め、春のたおやかな小川のように、夏の涼しい木漏れ日のようにやわらかくしてみました。IE9 preview 版でましたね → http://ietestdrive.com/動作させるには、Windows VISTA SP2 + IE8 または Windows 7 が必要です。快適に…
今日は「RIP IE6 day」らしいので、uuCanvas.js version 2.0 をリリースしました。http://code.google.com/p/uupaa-js-spinoff/downloads/list 試食できます こちらにコピーを上げておきました。http://pigs.sourceforge.jp/blog/20100303/uuCanvas2.js/READ…
Flashバックエンドに、TextAPI と Shadow API の仮実装を入れました。globalCompositeOperation も幾つか実装しています。 まだ調整が甘くて、 影が切れることがある textAlign 未実装実装済 利用できないフォントが指定されると、Times New Roman が使われ…
今日は、うっかり忘れがちな「メソッド内の this が何を示すか」を復習するついでに、脳内ダンプしてみます。C++ の this には、 「this(ポインタ)は メソッドの親オブジェクトを示す」 「メソッド内では、 this->hoge() と hoge() は同じ意味になる。thisは…
Flashバックエンドの実装とbugfixもいい感じに進んでます。残すは clip() globalCompositeOperation ShadowAPI TextAPI PixelAPI toDataURL(), getImageData() な感じです。 アニメーションデモ 今までは派手目なデモの紹介を控えてきましたが、そろそろ頃合…
uupaa.js の設定方法について、スライドを作成しました。http://handsout.jp/slide/2341
ctx.bezierCurveTo(), ctx.quadraticCurveTo(), ctx.drawImage() を実装しました。http://pigs.sourceforge.jp/blog/20100219/demo/ Silverlight, VML, Flash の各モードで、画像の拡大/縮小方法が異なるため、並べてみるとなかなか面白い事になっています。
タイトル変更しました今のところこんな感じです。Flashモードはアニメーションが高速に動作するようになりました。 http://pigs.sourceforge.jp/blog/20100217/demo/ (IEや他のブラウザで見てね)今日は「uupaa.js が実装している <canvas> をエミュレートする三つの</canvas>…
このエントリは canvasをより速く(Flashもサポート) - latest log や canvasをより速く(Flashもサポート)-Take3 - latest log の続きです。今日も、Flashモードのレンダリングをちょっと速くしました。 送信部分の高速化 修正前 var _stack = []; var _lockS…
latest log の続きですFlashモードのレンダリング速度をさらに改善しました。fpsが半分ぐらいに落ち込む問題も解決できたようです。 なにをしたか ExternalInterface のjs側のコードを要約し CallFunction() だけにする事で、最適化していた(つもりだった)の…
latest log の続きですFlashモードのレンダリングを速くしてみました。boostも出来ます。boostすると、25fps → 60fps ぐらいに加速します。 AutoDetect Silverlight → Flash → VML 順にバックエンドを探索 Flash 優先 Flash → Silverlight → VML 順にバック…
追記 2010-02-13: Flash モードを最新に差し替えました。boostも出来ます。 Flash 優先 Flash → Silverlight → VML 順にバックエンドを探索 本文 uupaa.js には uuCanvas.js のコードが入ってましたが、色々と書き直して、またちょっと速くなりました。 また…
Opera10.10までは arguments instanceof Array → true Object.prototype.toString.call(arguments) → "[object Object]" Opera10.50からは arguments instanceof Array → false Object.prototype.toString.call(arguments) → "[object Object]" になっている…
今日は「Firefox3.5+で、配列に対してin演算子を使うと、Firefox3に比べ5〜10倍モッサリする」という困った現象を、何とかする方法をご紹介します。 Firefox3 33 Firefox3.6 157 Firefox3.7a1pre 96 <body onload="bench()"><script> function bench() { var pure = [0, 1, 2, 3, 4, 5, 6, 7</body>…
uupaa.js 0.7 の概要を、1分でざざーっと分かるように書きました。 これ自体10分で書いてるので、ノープラン・ノーチェックでお届けします。 uupaa.js のビルド uupaa.js というファイルはありません。 必要な機能を組み合わせ、ユーザがビルドして作ります…