Chromeの JavaScript の Image オブジェクト

JavaScriptActionScript みたいに書きたい AsonJsChrome(チョロメって言うの嫌だな…)では動かなかったので原因を探したところ、Image オブジェクトの attributes の中身が Safari & Firefox と違う事が原因でした。

Safari & Firefox だと Image オブジェクトのサイズを取得する時に


image.attributes['width'].nodeValue

みたいに書いて動いていたんですが、それだとChromeに「そんなもんねえよ!このド素人!」と罵られたうえ、おしりの穴にトゲトゲのついた棒をねじこまれてしまいました(後半妄想)。

で、グーグルで Image オブジェクトについて調べて出てきたところをみたら
http://www.devguru.com/Technologies/Ecmascript/Quickref/image.html


image.width

っていう書き方で取得できる事がわかりました。シンプル!っていうか今までどうして attribute 取得してたんだ?

で、修正したら Chrome でも正常に AsonJs が動きました!わーい。

Chrome で動くようになったので、せっかくなので Chrome で遊んでやってください。
http://www.grkt.com/iphone/jp/wandering/
http://www.grkt.com/iphone/jp/calc10/
http://www.grkt.com/iphone/jp/monkeybanana/

それにしても今までなんでこれで動いてたんだろう。SafariFirefox が気を利かせてくれてたんでしょうか…。

でもまだ問題点

CanvasPNG のアルファの扱いがSafariとは違うみたい。opacity いじくるとアルファ部分のバリが見えちゃう。

こっちは Chrome の対応待ちかなぁ。