javascriptのアラートが何回も出る
こんにちは。
enchant.jsを使用してjavascriptを書いています。
[環境]
Windows7
IDE:WebStorm6.0
[Browser]
Google Chrome 25.0.1364.172m
FireFox 19.0.2
Internet Explorer 9.0.8112.16421
-----------------------------------------------------
enchant();
window.onload = function(){
var core = new Core(320, 320);
core.preload('./img/chara1.png');
core.onload = function(){
var bear = new Sprite(32, 32);
bear.image = core.assets['./img/chara1.png'];
bear.x = 0;
bear.y = 0;
bear.addEventListener('enterframe', function(){
if(core.input.right){
alert("right");//問題の箇所
this.x += 5;
}
});
core.rootScene.addChild(bear);
}
core.start();
};
上記コードは、右キーを押した時に絵を右に動かすプログラムなのですが
右キーを押した時に追加で、"right"とアラートさせるようにしました。
Google Chromeの場合、実行して右キーを押した時に"right"とアラートされ、アラートダイアログのOKボタンを押すとダイアログが消えて、絵が右に1回進みます。そして即座にまた"right"とアラートされてしまいます。
しかし不思議な事に、アラートの行をコメントアウトすると、右キーを押した時に絵が1回動いて止まり、次に押すまでは止まったままです。(正常な動き)
つまり、アラートを書いている時のみ、なぜか一度キーを押すと、その後ずっと押した時の処理が行われているという事になってしまっています。
IEの場合も、GoogleChromeと同じ現象が起きています。
FireFoxの場合は、上記のような現象は起こらず、キーを押すと"right"とアラートされ、OKを押して閉じると絵が右に動いて、終わります。連続でアラートされることは無く、正常な動作でした。
僕は純粋にjavascriptのみでコードを書いたことが無く、enchant.jsライブラリを使用して最近始めました。
これはjavascriptのみの場合でも起こる現象なのでしょうか?それとも、enchant.jsの仕様に関わる問題なのでしょうか?
はたまた、ブラウザの仕様に関わるものなのでしょうか?
以上、宜しくお願い致します。
お礼
ご回答ありがとうございます。私自身パソコンそのものについての知識がまだまだ甘いみたいで、PCに問題があるのかサーバー側、CGI側の問題なのかもはっきりしないまま、IEのことだからとこちらに投稿してしまいました。kmorさんの回答からもしかしたらCGIの問題なのかも知れないな、と思いました。(見当違いかも知れませんが。。。) てっきりイタズラとして良く知られているものじゃないかと思っていたんですが、こういうエラーは稀なケースなんですね、きっと。
補足
問題のCGIはCGI boyさんからお借りしているもので、C言語で書かれているそうです...なんで、htmlと一部のJava Scriptをかじった程度の私にはちょっと手に余りますA(^^; 今のところ同じものは出ていません。