Глюки оперы или ошибки кода?
Всем здравствуйте!
Нашел 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, время: 23:36. |