ActionScriptもJavaScriptも、どっちもECMAScriptに準拠していているから、コアな部分ではほとんど同じだろうと思っていたら、ハマった・・・(MacIE)。
いつもASでやるように、
Google先生曰く、「MacIEはArrayクラスでpushをサポートしてねぇ」だそうで。マジすか。どうもWinIE5.0あたりもそうみたい。
結局、pushは使わずにすることでクリア。
で、SWFObjectのソースを読みまくっていたら、こんな記述が(インデントなどはこちらでつけたもの)。
すごいっ!すごすぎる!!
すかさずprototype.jsはどうなってんだろうと思って調べたら、こっちも同じくサポートしてるっ!
SWFObjectにしてもprototypeにしても、先人は凄いなぁ。
ホント勉強になりまっす!
[ 2006/12/8 追記 ]
prototype.jsのソース見たり、いろいろ検索してみたら、prototype.jsでもサポートしていないっぽいです・・・。prototype.jsってIE6からを対象にしているようですね。
いつもASでやるように、
var a = new Array();
a.push({b:1, c:"22", d:333});
とやったらエラー。Google先生曰く、「MacIEはArrayクラスでpushをサポートしてねぇ」だそうで。マジすか。どうもWinIE5.0あたりもそうみたい。
結局、pushは使わずにすることでクリア。
で、SWFObjectのソースを読みまくっていたら、こんな記述が(インデントなどはこちらでつけたもの)。
if(Array.prototype.push == null){
Array.prototype.push = function(_31){
this[this.length] = _31;
return this.length;
};
}
MacIEなどではArrayのpushを自作しているのか!すごいっ!すごすぎる!!
すかさずprototype.jsはどうなってんだろうと思って調べたら、
SWFObjectにしてもprototypeにしても、先人は凄いなぁ。
ホント勉強になりまっす!
[ 2006/12/8 追記 ]
prototype.jsのソース見たり、いろいろ検索してみたら、prototype.jsでもサポートしていないっぽいです・・・。prototype.jsってIE6からを対象にしているようですね。

Send Your Comment