2008/09/08

Web:: JScriptエンジンが原因か?

動的Webサイトの開発はASP(JScript)を使っているんですが、テスト環境で実行・正常動作したスクリプトファイルを本番環境へもって行き、動作させたらエラー!なんてことがありました。

エラーを特定した結果、配列のpush関数が正常動作していないもよう。
ん~と悩んだ結果、以下の対応でOKでした。

■エラーになったスクリプト文
var aaa = new Array();
aaa.push("hogehoge");

■成功したスクリプト文
var aaa = new Array();
aaa[i] = "hogehoge";

先輩と話をした結果、JScriptエンジンじゃね?と。
以前WindowsUpdateのなかに「JScriptエンジンがなんたら」という項目見たことがあるな・・・

こんなことでやられるとは思いもしなかった・・・はぁ~ヤッパリWindowsUpdateは必要ですな。

2010.03.28 Update!!!
よく考えるとprototypeでpush関数を作ってしまえばOKですね。
if (!Array.prototype.push) {
     Array.prototype.push = function() {
          this[this.length] = arguments[0];
     };
}
スポンサーリンク

スポンサーリンク