Глюки оперы или ошибки кода?
Всем здравствуйте!
Нашел HTML c JS, скопировал JS в отдельный файл clock.js, немного упростил, вставил в страницу, но: 1. Работает в IE6,NN6,NN9,Opera8,Opera9 2. Opera 6.01 не догружает последнюю картинку (document.images.length = 7 , а не 8???) 3. Opera 7.11 загружает картинки с точками, но document.images.length = 0 ??? и дальше не дышит! Opera 7.11 после первого обращения к св-ву document.images.length, уже почему-то не изменяет размерность массива images, хотя 8 картинок отображены на странице ???!!! Помогите, plz, что не так? (или это глюки оперы?) Мой код - http://magg48.site90.net/ Исходный HTML - http://magg48.site90.net/clock.html (Исходный HTML в Opera6 пашет, в Opera7 нет) <!-- // создаю массив изображений var digit = new Array() digit[0] = new Image(16, 21) digit[1] = new Image(16, 21) digit[2] = new Image(16, 21) digit[3] = new Image(16, 21) digit[4] = new Image(16, 21) digit[5] = new Image(16, 21) digit[6] = new Image(16, 21) digit[7] = new Image(16, 21) digit[8] = new Image(16, 21) digit[9] = new Image(16, 21) digit[10] = new Image(9, 21) // colon digit[11] = new Image(9, 21) // dark colon digit[12] = new Image(9, 21) // point // инициализирую цифры 0-9 for (var i = 0; i < 10; ++i) { digit[i].src = getPath(location.href) + "dg" + i + ".gif" } // инициализирую оставшиеся digit[10].src = getPath(location.href) + "dgc.gif" digit[11].src = getPath(location.href) + "dgc1.gif" digit[12].src = getPath(location.href) + "dgp.gif" // запоминаю, сколько картинок уже загружено на страницу var pic = document.images.length // занимаю место на сайте под часы картинками dgp.gif из массива document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>") document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>") document.write("<IMG SRC=\"" + getPath(location.href) + "dgc.gif\" HEIGHT=21 WIDTH=9>") document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>") document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>") document.write("<IMG SRC=\"" + getPath(location.href) + "dgc.gif\" HEIGHT=21 WIDTH=9>") document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>") document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>") // прверяю, сколько теперь картинок загружено на страницу alert("Загружено картинок : " + document.images.length) setClock() function setClock() { var now = new Date() var hour = now.getHours() var minute = now.getMinutes() var sec = now.getSeconds() if (hour < 10) hour = "0" + hour else hour += "" if (minute < 10) minute = "0" + minute else minute += "" if (sec < 10) sec = "0" + sec else sec += "" // замена картинок на соответствующие показаниям часов document.images[pic+0].src = digit[hour.charAt(0)].src document.images[pic+1].src = digit[hour.charAt(1)].src document.images[pic+2].src = digit[10].src document.images[pic+3].src = digit[minute.charAt(0)].src document.images[pic+4].src = digit[minute.charAt(1)].src document.images[pic+5].src = digit[10].src document.images[pic+6].src = digit[sec.charAt(0)].src document.images[pic+7].src = digit[sec.charAt(1)].src setTimeout("setClock()",1000) } function getPath(url) { lastSlash = url.lastIndexOf("/") return url.substring(0, lastSlash + 1)} // --> |
Цитата:
|
Спасибо за ответ. Но ко мне на сайт заходят даже с оперой6.
Придется проверять версию браузера и в оперу6,7 часы не вставлять... |
chainick,
Надо же. На ваш сайт заходят гости из далекого прошлого. |
Что-нибудь по сути вопроса могли бы сказать?
Ведь Вы же ПРОФЕССОР! Есть много других сайтов, где можно поболтать ,sorry... |
chainick,
К сожалению, у меня нет установленных версий Opera 6 и 7. Так что помочь советом я не могу. Могу потестировать на IE 4. |
у меня стоит стата по браузерам на сайте.. за полтора года 6 и 7 оперу невидил ни разу.. 8 бывала, но редко... на столько редко, что я даже под неё не адаптировал дизайн
|
Спасибо за отклики. У меня вчера (смотрел в логах) кто-то влезал с 6-ой оперой
Я подкорректировал JS, и заработали и опера6, и опера7. Пришлось для 6 пилить JS на 2 части, а для 7 переносить document.images.length в другое место. Если кто-то протестит в разных браузерах (кому не влом), буду премного благодарен. http://magg48.site90.net/ Перед тем, как вставлять в рабочий сайт, хотелось бы знать, что не глючит. Время буду брать с сервера через PERL. Если кого-то, вдруг, заинтересует код, выложу... |
Когда уж все наиграются с этими часами, раскрашиванием скроллбаров, изменением строки статуса, мигающими тайтлами и прочим :-) Вы потратили уйму времени на абсолютно бесполезную вещь. Часы у всех и так есть, зачем они еще и на сайте, да еще и для браузеров прошлого века?
|
а вдруг часы являются частью дизайна?
ну предположем это сайт по продаже часов... так что резон есть |
Часовой пояс GMT +3, время: 01:55. |