Я разработчик сайтов. Сразу к делу: на страницах не работает JavaScript-обработчики "onmouseover" и "onmouseout". Те же самые обработчики отлично работают в IE и Opera. Это только то, что я заметил. Кстати, не работает также "innerHTML", хотя "innerText" работает.

Приведи кусок кода, чтоб посмотреть можно было.

...не работает JavaScript-обработчики "onmouseover" и "onmouseout"... ...не работает также "innerHTML"...

А у меня почему тогда работает? Да и у всех?

нет, я ошибся... on'ы работают, проверил на другом примере. но вот этот премер работать в мозилле в упор не хочет, а в других браузерах работает:
http://ifolder.ru/11263789

popyurv, Вы просто фрагмент скрипта здесь на странице приведите
- так все увидят и посоветуют (кто сможет). А то не ясно что загружаешь...

Тема перенесена из форума «Поддержка пользователей» в форум «Разработка».

<script>
var img1=new Image(); img1.src="article.gif";
var img2=new Image(); img2.src="article2.gif";

function change1() { var a=window.event.srcElement;
        a.src=img2.src;
}
function change2() { var a=window.event.srcElement;
        a.src=img1.src;
}
</script>
<a href="..."><img src=article.gif border=0 onmouseover="javascript:change1()" onmouseout="javascript:change2()"></a>

Выдернул самое информативное.

26-03-2009 20:23:54
По логике, должен менять картинку при наведении мышью, и возвращать прежнюю при покидании. Что он и делает в IE и Opere. Но в Мозилле он просто не замечает скрипта.

Выделить код

Код:

<img src="article1.gif" onMouseOver="this.src='article2.gif';" onMouseOut="this.src='article1.gif';">

Так разве не проще?

ПротопопулуS
Да, согласен, проще... Но это лишь пример. А что делать, если требуется проверка, какая страница открыта, или нужны "падающие" меню? Тут без функций не обойтись.

А если img1 и img2 записать без var, т.е. совсем глобальными?

Нет, не работает.
ПС: исходники в архиве, если есть время, которого не жалко - добейся плз работы в мозилле...

26-03-2009 21:11:52

http://ifolder.ru/11263789

Выделить код

Код:

<img onmouseover="f(event);">

function f(e) {
    e = e || window.event;
    var tar = e.target || e.srcElement;
    tar.src = " ... ";
}

И в Firefox есть консоль ошибок.

Самое интересное - я хотел, чтобы разобрались не с кодом, а с Мозилловским ЯваСкриптом, ибо в остальных браузерах всё работает на ура. Если я каждый свой код буду подгонять под мозиллу, на это уйдёт уйма времени.

[offtop]В наших кругах мозиллу часто называют ТОРМОЗилла :)[/offtop]

Самое интересное - я хотел, чтобы разобрались не с кодом, а с Мозилловским ЯваСкриптом, ибо в остальных браузерах всё работает на ура.

Самое интересное то, что Mozilla выполняет только правильно написанные скрипты, а не те, что под мелкомягкого заточены (убедился сам) :)

Infocatcher
во, это уже чтото. работает. Большая тебе спасибка.

26-03-2009 21:23:42
ПротопопулуS

правильно написанные скрипты

ну, тот скрипт тоже правильный с точки зрения синтаксиса и работы. И не только мелкософтный ИЕ, но и опера, и только что скачанный НытСкюп его понимают.

26-03-2009 21:31:50
Вот, нашёл нужный и правильно работающий вариант:

<script>
function change1(t) {

    t.src = img2.src;
}
function change2(t) {

    t.src = img1.src;
}
</script>
<img src="article.gif" onMouseOver="change1(this);" onMouseOut="change2(this);" id="mi1">

Опознать, откуда пришёл обработчик можно по t.id в функции.

Тему можно прикрывать... или оставим? Ведь изначальная проблема (кривой JS) не решена... Хочется услышать ответ разработчиков мозиллы, почему в ней не идут скрипты, которые идут 100% на ВСЕХ других браузерах?

Хочется услышать ответ разработчиков мозиллы, почему в ней не идут скрипты, которые идут 100% на ВСЕХ других браузерах?

Огорчу, но здесь Вы разработчиков Mozilla Firefox не найдете.

Жалко... Ладно, сейчас посмотрю, что на сайте есть про обратную связь... И буду уже писАть конкретно, "вооружённым".