js
via http://www.mobilexweb.com/blog/android-4-0-browser-html5 Android Browser 4.0 は将来的に Chrome に置換されるけど、まだ時間が必要。4.0 に搭載されているブラウザは従来の改良版 Google Chrome と Android Browser のブックマーク同期 レンダリン…
uupaa.js 0.8 で書いた uu.fx は1つのオブジェクトを高速で滑らかにアニメーションさせる能力に特化してまして、 沢山のオブジェクトが整列してパラパラと切り替わるタイプのアニメーションには使いづらいものでした。ずっと宿題になってましたが、requestAn…
(ε・◇・)з CoffeeScript は Ruby や Python っぽく書けて JavaScript にコンパイルできるプリティな言語だとか! (ε・◇・)з 噂では CoffeeScript で書くとコードが短くなるとか!!物は試しに http://jashkenas.github.com/coffee-script/ にある幾つかのコード…
とある開発環境で iPhone/Android アプリを書いてます。開発言語は js ですが Titanium ではありません。今回の開発で実現したい事の1つに「可能なら UI を自動でテストしたい」というのがあります。 ぼーっとしていたら、以下のようなロジック(パターン)を…
Windows 8 には IE10 が標準搭載されます。これらは早ければ2012年の秋ごろまでにリリースされる予定です。 IE10 ではレガシーな(古い)機能やメソッドが切り捨てられると予告されています → 非推奨の DOM イベントIE10 で attachEvent が廃止されると attach…
uupaa.js や mofmof.js には {@hoge 〜 }@hoge のようなコードブロックを切り落として Minify する機能があるので、「ソースコードにテストもドキュメントも全部埋め込むことが可能だな〜」って3年程前から考えてました。そこで、Function.prototype.spec と…
JavaScript の小ネタです。UserAgent 文字列(window.navigator.userAgent) "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.814.0 Safari/535.1"から、Windowsのバージョン(6.1)を取り出すようなコードをよく見か…
IE 10pp2 と iPad2 (iOS5) のスコアを追記しました iPhone4S (iOS5) のスコアを追記しましたFirefox 4 から window.mozRequestAnimationFrame が利用可能になっています。window.requestAnimationFrame / setTimeout(,4) / setInterval(, 16) で パーティク…
数値(num)から4桁のゼロ埋めされた16進文字列が欲しい場合に var num = 123; var rv = ("000" + num.toString(16)).slice(-4); alert( rv ); // "007b" と毎回書くのもアレなので、こんな感じに書けるといいんじゃないでしょうか。 alert( (123).toHexString…
追記: 2011-04-26 00:00 より日本語版が正式にリリースされるとのこと Internet Explorer(R) 9 日本語版の提供日について 2011 年 4 月 6 日 日本マイクロソフトは、このたびの震災に伴い、重要な通信インフラとなっているネットワーク回線への負荷軽減への…
IE6〜IE9RC では、 DOM Lv0 イベントハンドラ内では media 変数にアクセスできないようです。謎です。 var media = "(ε・◇・)з はろー"; <input type="button" value="IEだとmedia変数が見えないよ" onclick="alert(media)" />
IE9RC の挙動を調べています。 IE9RC では @amachang さんの /*@cc_on var doc = document; eval('var document = doc'); @*/ が封印されてるhttp://twitter.com/#!/uupaa/status/35942322231320576 残念ながら、 @amachang さんの発案した方法がIE9で封印さ…
HTML5をサポートしていないIE6〜IE8で、node.innerHTML = "..."; のように HTML5 で追加された新要素含んだ文字列を innerHTML に与えると、次のいずれかの条件が成立した場合に親子関係の崩れたサブツリーを生成してしまいます。 innerHTML の前に document…
追記: jQ的には解決していませんが、素の JavaScript を使った回避方法がわかりました。IE8以下では、オンザフライで作成した要素に対して innerHTML すると謎要素が作成されてしまうといった現象がでるため、一度要素片を、DOMツリー( body とかね ) にぶら…
IE6〜IE8のinnerHTMLには問題が多く、そのひとつに、HTML5の新要素を食わせると悪夢のようなDOMツリーを生成するというものがあります。 var div = document.createElement("div"); div.innerHTML = "<section>section</section>"; document.body.appendChild(div); 上記のコー…
CSSValue な "12em" や "123px" から 単位がpx の場合に 123 という数値を素早く取り出すには、 RegExp#test でテストしてから parseInt で取り出す RegExp#exec してから +(matchedValue) で数値として取り出す のどちらが効率的なのか気になったのでベンチ…
(ε・◇・)з 戦いはこれからだ!http://jsdo.it/uupaa/hellsjs2 で動かせるよ // forked from uupaa's // "地獄のJavaScript (Symbolic JavaScript)" // http://jsdo.it/uupaa/hellsjs uu.ready("window", function(uu, doc) { uu.mix(window, uu); uu.config.l…
uu.node.add(source, context, position) の position に数値を指定すると、ノードの挿入位置を指定可能になりました。従来通り文字列("first", "prev", "./first", "./last", "next", "last")も指定可能です。詳しくはこちら http://code.google.com/p/uupa…
Function#bind は、ECMAScript-262 5th で導入された Prototype.js 由来のメソッドです。 uupaa.js では Function#bind の互換実装も提供していますが、現在はコメントアウトした状態でリリースしていますFunction#bind と 自分でbind相当の処理を書いた場合…
SubmitボタンのonClickイベントの流れを追いたいのに、Submitボタンに仕掛けられたロールオーバー機能(mouseover等)にデバッガの制御を奪われて、しかもその先がMinifyされたライブラリで、イラッとしたことはありませんか?デバッグ中はロールオーバーを一括…
jsdo.it に投稿してみた http://jsdo.it/uupaa/hellsjs誰かうまいこと、a〜zをつくりだしてほしいんだよ。 uu.ready("window", function(uu, doc) { uu.mix(window, uu); uu.config.log.rollup = 1000; // logロールアップ回避 log('-1 = @', ~[] ); log('0 …
jsのオレオレ演算子といえば、 Boolean値に変換する !!arg 0又は1に変換する +!!arg 小数点を切り落とす arg|0 や arg >> 0 などがありますが、若干分かりづらいので、初心者の方にはおすすめできません。http://jsdo.it/uupaa/9YFT で実行できます。 uu.rea…
条件成立でコールバックする関数を登録しておく機能 uu.ready() の条件に、ページのURLが一致する場合にコールバックする機能を追加しました。このようにして利用します。同じものを http://jsdo.it/uupaa/2011-01-19 にあげてあります。 // jsdo.it のコー…
ジェバンニ仕事で、http://koebu.com/event/xmas/2010/ を iPhone / iPad に対応させました*1。 目からビーム出して頑張ってる最中のツイートまとめ iOS では、ユーザアクションを伴わない、audio.play() やaudio.load() は機能しない。さらにpreloadとautop…
IE6, IE7, IE8 では node.currentStyle を使うことで計算済みのスタイル情報にアクセスできます。また、IE9を含むその他のブラウザでは、window.getComputedStyle(node, "") を使うことでアクセスできます。getComputedStyle では、単位系が px に統一されて…
version 1.05 を github と、Google Code においてあります。ベンチマーク もGoogle Code に置きました。10万要素のJSONデータの読み込みに時間かかることがありますが、気長にお待ちください。 # IE9用はこっちです http://uupaa-js-spinoff.googlecode.com…
https://github.com/uupaa/msgpack.js 速度を改善 JITの最適化を促進する方法をピコーンしたので、IEEE754周りの速度を改善しました。Opera(右上)で特に効果が見られます。 IEEE754ベンチ: https://github.com/uupaa/msgpack.js/blob/master/test/IEEE754.be…
昨日に比べて2倍速ぐらいになりました。 https://github.com/uupaa/msgpack.js/blob/master/msgpack.js Data = 10000 Opera 10.63 Firefox 4.0β7 Chrome 9 dev IE9pp7 JSON.stringify 53 24 67 38 JSON.parse 11 34 29 16 stringify + parse 64 58 97 54 msg…
数ヶ月前までは、Google Chrome に実装されている JSON よりも、お手製の msgpack.js のほうが速かったりした事もありました。でも気がついたら、いつの間にか Google Chrome 9 dev にぶっちぎられていました。で、速度差を挽回すべくコードをいじりだして、…
msgpack.pack will return "Maximum call stack size exceeded" when passing big data 数日前に、「msgpack.pack が文字列を返してないよ」という issue が付いたので、第二引数が true なら、String.fromCharCode.apply を行いバイナリ文字列を返すように…