| 1. Событие onkeydown в MSIE применимо для объектов: A, ACRONYM, ADDRESS, APPLET, AREA, B, BDO, BIG, BLOCKQUOTE, body, BUTTON, CAPTION, CENTER, CITE, CODE, custom, DD, DEL, DFN, DIR, DIV, document, DT, EM, FIELDSET, FONT, FORM, Hn, HR, I, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=image, INPUT type=password, INPUT type=radio, INPUT type=reset, INPUT type=submit, INPUT type=text, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, NEXTID, NOBR, OBJECT, OL, P, PLAINTEXT, PRE, Q, RT, RUBY, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP
Как видите, объекта window в этом списке нет, как вам ранее в другой теме и указали.
Поэтому используйте document, который "на ура" сработает и в Mozilla
2. Строку window.captureEvents (Event.KEYPRESS); можете смело удалять - ни на что не влияет - это пережиток ранних версий Javascript'a, ныне во всех браузерах преодолён.
3. В функции GameStart вы используете конструкции this.innerWidth и this.innerHeight - MSIE не понимает, что такое this в этом контексте и вовсе не понимает, что такое innerWidth и innerHeight. Для MSIE здесь надо использовать document.body.offsetWidth и document.body.offsetHeight
4. В функциях ShowPause и ShowGameOver у вас та же ошибка, что описана в п.3, при паузе и при окончании игры.
Ну а в общем - неплохо.
Дизайн, разумеется, мог быть и получше. Цветовые решения фигур - пооригинальнее.
Но к аналитике претензий почти нет. Ну, кроме, разумеется, неработающей кнопки закрытия окон диалога и самого игрового поля - зачем "прилепили", для красоты? :-)
PS. И обязательно добавьте к списку фигур еще и "крестик" - без "крестика" тетрис не будет полноценным :-) | |