Вот у меня есть чудо-код монстрообразного вида. Но код вроде неплохой, и в Mozilla 3.5 и IE свой функционал прекрасно реализует.
Идея такова: есть SHOUTcast радиоканал, там вещается музыка. PHP-скрипт через сокет получает данные о треке, далее основной HTML-файл получает их через IFRAME, подгружая туда серверный скрипт с соответствующей JavaScript функцией. Основной файл периодически перезагружает IFRAME, чтобы обновлять информацию, но в IE этого не происходит из-за щелчков, а вместо этого реализовано обновление поля при наведении мыши.
И всё бы хорошо, но в Опере последней версии меня ждали 2 неудачи:
1) Не перегружается IFRAME, хоть тресни
2) При наведении мыши событие видимо вызывается не один раз, а множество, из-за чего там получается очень неприятная штука с прокруткой на бешенной скорости и рывками. Кстати странно, что от многократных запусков не спасает clearTimeout(), стоящий в начале функции прокрутки.
Но если вторую проблему можно решить заменой наведения на клик, то что делать с первой, я не в курсе.
Более того, у меня какая-то глюкавая версия похоже стоит. Я код обновляю - а результат работы прежний. Нажимаю Обновить - всё равно прежний. Что-то она там кэширует лишнее.
Из-за этой засады я даже не смог понять, помогает ли убрать обработчик на наведение мышки. По логике должно, но у меня проблема не ушла после того, как я эту строчку вырезал. Наверно, причина этому была та, что я выше описал.
пробовал я также делать принудительный выброс из обработчика при идентификации браузера как Опера (правильно, зачем он в Опере-то), но это почему-то тоже результата не дало.
Настроек кэширования я в этом гении программистской мысли также не нашёл. С позиционированием контейнеров в Опере были те же "залипания", изменения только на четвёртый раз появились.
А скрипт должен кроссбраузерным быть по хорошему...
В общем - что мне теперь делать с этим чудом?..