HTML5

HTML5の文字エンコーディングの判定は 512byte または 1024byte 以内までに

HTML5のWorking Draft(20110113)までは、文字エンコーディング判定の範囲はファイルの先頭512byte以内と定義されていました。そのため、

クリスマスツリーを iPhone でも見れるようにしたよ

ジェバンニ仕事で、http://koebu.com/event/xmas/2010/ を iPhone / iPad に対応させました*1。 目からビーム出して頑張ってる最中のツイートまとめ iOS では、ユーザアクションを伴わない、audio.play() やaudio.load() は機能しない。さらにpreloadとautop…

IE9pp6 で section, nav, aside, header, footer 等をサポート

IE9pp6 では、 -ms-transform 以外にも、以下の HTML5 新要素をサポートしています。 <nav /> <article /> <aside /> <hgroup /> <header /> <footer /></footer></header></hgroup></aside></article></nav>

HTML5 Forms Slider Control (input type="range")

デスクトップアプリケーションで利用されているフォームコントロールの多くがブラウザでは利用できません。 これを改善すべく HTML5 Forms で フォーム部品が追加されましたが、例によりブラウザの実装が追いついていないため満足に利用できる状況にありませ…

HTML5 Forms の UI をどう実装したらよいか悩んでいます

HTML5 で新しく定義された <input type="range"> 等を JavaScript で実装しようとしたときに、元の input 要素と UI 要素を関連付けする方法で悩んでいます。 <input type="range" id="hogeid" class="hogeclass" value="50" min="0" max="100" onchcange="onchange(this)" /> といった要素があったときに、 div要素 と input type="hidden" に置換して、元の input type="range" 要素から引き継…

WebStorageで、ワンライナー IE8, IE9pp3 ブラクラ

localStorage.removeItem() 以外にも、localStorage.setItem(); や localStorage[key] = value; でも落ちるようです(コメント欄参照) <input id="A" type="text" value="" /><script>localStorage.removeItem(A.value)</script> 上記のコードをIE8で実行すると、タブクラッシュ → 復元 → タブクラッシュ → 復元機能…

uupaa.js に uuCanvas.js をマージ

uupaa.js version 0.8 に uuCanvas.js の最新版相当の機能をマージしました。IE なら VML, Silverlight3+, Flash9+ のいずれかでレンダリングを行い、それ以外のブラウザでは<canvas>でレンダリングします。 Flash や Silverlight が利用できない場合でも VML でレン</canvas>…

MultiTouch DnD + Gesture で Microsoft Surface 的な(2)

http://d.hatena.ne.jp/uupaa/20100625/1277424226 の続きです。拡大/縮小/回転をクロスブラウザにしました。 http://jsdo.it/uupaa/MultiTouchDragAndGesture iPhone(iOS4), IE 6+, Opera 10.50+, Firefox 3.5+, Google Chrome 5+, Safari 4+ で動作を確認…

MultiTouch DragAndDrop + Gesture で Microsoft Surface 的な

続き書きました http://d.hatena.ne.jp/uupaa/20100629 MultiTouch の習作として、Microsoft Surface ( youtube: http://bit.ly/1wTzk ) に似たインターフェースを js で実装してみました。ピンチで拡大。回転。トリプルタップで元のサイズに戻ります。 demo…

msgpack.js RC2

Change Log Retake toIEEE754() Retake callback arguments in msgpack.download() and msgpack.download() Test case msgpack codec test msgpack download / upload demo benchmark msgpack vs json Functions Download and Upload functions msgpack.down…

msgpack.js RC

MessagePack 発案者様から「末席あいてますよ」とお言葉をいただいたので、uupaa.js に一切依存せず、ソースコード単体で利用可能なスピンオフ版を作成しました。 Many bugfix(especially - IEEE754) Test case was enhanced msgpack codec test msgpack dow…

Web Workers用と通常のJavaScript用のコードを共存させる

Web Workers の調べ物してました。 Web Workers は、Google Chrome 4+, Firefox3.5+ , Safari4+ で既に利用可能です。Google Chrome5 では、Web Workers 内で Web Socket を動かすこともできます。 js の基本であり鬼門といえば this オブジェクト 各ポイン…

MessagePack + WebWorkers

追記 @os0X さんと @edvakf さんからアドバイスをいただいたので、本文とコードを修正しました。 postMessageが文字列に限定されているのは旧仕様で、Firefoxや最近のWebKit(Chrome5とか)はオブジェクトをやり取りできると思います via @os0X http://twitter…

HTML5 Audio デモ

HTML5 で、ブラウザの機能として「音」を再生する仕様が追加されました 音を再生するには、<audio src="..." autoplay> を HTML に埋め込むか、new Audio(src).play() とします。仕様 ⇒ http://www.w3.org/TR/html5/video.html クロスブラウザ化する上での問題は2つ 1. 古いブラウザ向</audio>…

uuStorage.js

uuStorage.js は、HTML5 の Client Side Storage (WebStorage) のフォールバックな実装です。http://uupaa-js-spinoff.googlecode.com/svn/trunk/uuStorage.js/README.htm中身は、以下のシングルトンなクラスで構成されてます。 Storage (Storage auto detec…

IE9 で

IE9 を含む様々なブラウザで <audio> や window.Audio の機能の一部を利用できるようにしてみました。Silverlight3+ がインストールされている、Firefox3.0, Firefox3.5+, IE8, IE9, Google Chrome3+, Safari4+ で動いてます。 # そのうち、Flash でも動作するよう</audio>…

canvas 互換機能の bugfix

uupaa.js コードリード用のエントリです。興味が無い方は読み飛ばしてください。 VML backend で ctx.drawImage(image) + 不透明度(globalAlpha) を有効にしました(条件あり) <vml:image> は opacity 属性が機能しません。そのため、<vml:image> ではなく、<vml:shape> <v:fill opacity="..." src="..." /> </v:shape> を使うことで、不透明…

uuCanvas.js version 2.0 release

今日は「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…

TextAPI と Shadow API を仮実装

Flashバックエンドに、TextAPI と Shadow API の仮実装を入れました。globalCompositeOperation も幾つか実装しています。 まだ調整が甘くて、 影が切れることがある textAlign 未実装実装済 利用できないフォントが指定されると、Times New Roman が使われ…

Canvas on Flashでアニメーション

Flashバックエンドの実装とbugfixもいい感じに進んでます。残すは clip() globalCompositeOperation ShadowAPI TextAPI PixelAPI toDataURL(), getImageData() な感じです。 アニメーションデモ 今までは派手目なデモの紹介を控えてきましたが、そろそろ頃合…

Flashモードにベジェ曲線と画像描画のサポートを追加

ctx.bezierCurveTo(), ctx.quadraticCurveTo(), ctx.drawImage() を実装しました。http://pigs.sourceforge.jp/blog/20100219/demo/ Silverlight, VML, Flash の各モードで、画像の拡大/縮小方法が異なるため、並べてみるとなかなか面白い事になっています。

Canvasをレンダリングする3つのモード

タイトル変更しました今のところこんな感じです。Flashモードはアニメーションが高速に動作するようになりました。 http://pigs.sourceforge.jp/blog/20100217/demo/ (IEや他のブラウザで見てね)今日は「uupaa.js が実装している <canvas> をエミュレートする三つの</canvas>…

canvasをより速く(Flashもサポート)-Take4

このエントリは canvasをより速く(Flashもサポート) - latest log や canvasをより速く(Flashもサポート)-Take3 - latest log の続きです。今日も、Flashモードのレンダリングをちょっと速くしました。 送信部分の高速化 修正前 var _stack = []; var _lockS…

canvasをより速く(Flashもサポート)-Take3

latest log の続きですFlashモードのレンダリング速度をさらに改善しました。fpsが半分ぐらいに落ち込む問題も解決できたようです。 なにをしたか ExternalInterface のjs側のコードを要約し CallFunction() だけにする事で、最適化していた(つもりだった)の…

canvasをより速く(Flashもサポート)-Take2

latest log の続きですFlashモードのレンダリングを速くしてみました。boostも出来ます。boostすると、25fps → 60fps ぐらいに加速します。 AutoDetect Silverlight → Flash → VML 順にバックエンドを探索 Flash 優先 Flash → Silverlight → VML 順にバック…

canvasをより速く(Flashもサポート)

追記 2010-02-13: Flash モードを最新に差し替えました。boostも出来ます。 Flash 優先 Flash → Silverlight → VML 順にバックエンドを探索 本文 uupaa.js には uuCanvas.js のコードが入ってましたが、色々と書き直して、またちょっと速くなりました。 また…