jsdoit

DOM Lv0 イベントハンドラ内で media 変数にアクセスできない

IE6〜IE9RC では、 DOM Lv0 イベントハンドラ内では media 変数にアクセスできないようです。謎です。 var media = "(ε・◇・)з はろー"; <input type="button" value="IEだとmedia変数が見えないよ" onclick="alert(media)" />

IE9RC で document が const になり再定義が不可能になった

IE9RC の挙動を調べています。 IE9RC では @amachang さんの /*@cc_on var doc = document; eval('var document = doc'); @*/ が封印されてるhttp://twitter.com/#!/uupaa/status/35942322231320576 残念ながら、 @amachang さんの発案した方法がIE9で封印さ…

$("div").append("section") できないらしいので色々調べてみた

追記: jQ的には解決していませんが、素の JavaScript を使った回避方法がわかりました。IE8以下では、オンザフライで作成した要素に対して innerHTML すると謎要素が作成されてしまうといった現象がでるため、一度要素片を、DOMツリー( body とかね ) にぶら…

RegExp#test + parseInt vs RegExp#exec + plus operator

CSSValue な "12em" や "123px" から 単位がpx の場合に 123 という数値を素早く取り出すには、 RegExp#test でテストしてから parseInt で取り出す RegExp#exec してから +(matchedValue) で数値として取り出す のどちらが効率的なのか気になったのでベンチ…

地獄のJavaScript2

(ε・◇・)з 戦いはこれからだ!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…

速度が求められる部分に Function#bind を導入するのはまだやめましょう

Function#bind は、ECMAScript-262 5th で導入された Prototype.js 由来のメソッドです。 uupaa.js では Function#bind の互換実装も提供していますが、現在はコメントアウトした状態でリリースしていますFunction#bind と 自分でbind相当の処理を書いた場合…

Debug friendly な ON/OFF できるロールオーバー機能の実装

SubmitボタンのonClickイベントの流れを追いたいのに、Submitボタンに仕掛けられたロールオーバー機能(mouseover等)にデバッガの制御を奪われて、しかもその先がMinifyされたライブラリで、イラッとしたことはありませんか?デバッグ中はロールオーバーを一括…

地獄のJavaScript (Symbolic JavaScript)

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のオレオレ演算子

jsのオレオレ演算子といえば、 Boolean値に変換する !!arg 0又は1に変換する +!!arg 小数点を切り落とす arg|0 や arg >> 0 などがありますが、若干分かりづらいので、初心者の方にはおすすめできません。http://jsdo.it/uupaa/9YFT で実行できます。 uu.rea…

uu.ready("href:url/dispatcher", callback, ...) impl

条件成立でコールバックする関数を登録しておく機能 uu.ready() の条件に、ページのURLが一致する場合にコールバックする機能を追加しました。このようにして利用します。同じものを http://jsdo.it/uupaa/2011-01-19 にあげてあります。 // jsdo.it のコー…

Flashのように滑らかなアニメーションを実装するには(uupaa.js vs jQueryデモ)

JavaScript で Flash のような滑らかなアニメーションを行うためには、クロスブラウザな知識の他に、GC(ガベージコレクション)や「どうすれば安定した品質がだせるのか」といったスキルが求められます。 # GC の話は WEB+DB PRESS 57 でちょっと書いてます。…

JavaScript minified code word counter

JavaScriptのコード量とか気になりますよね? モバイルだと特に。通常は、プログラマーがソースコードの無駄を削り、Minifier Tools で更に難読化 + 圧縮を行いますが、そこから更に削りを入れるには、頻出するワードを変数に格納するなどします。 そんな時に…

textContent を使うと Opera10.60 がどんどん重くなる

追記 http://jsdo.it/uupaa/u0QX に最小化したコードを載せました 今回のケースでは、条件(1)と(2)を満たす場合に、どんどん重くなっていくようです。 function bench() { // (1) nodeList を関数内部で毎回取得している var nodeList = document.getElement…

IEで透過pngにopacity

@nksm さんのつぶやき IE7+で透過pngに対してopacityを指定した時の汚さはなんとかならんかな。IE6はキレイなんだが・・・。via http://twitter.com/nksm/status/16611637369 を見つけたので、VMLを使って透過pngにopacityを適用する方法を jsdo.it にあげま…