Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Баг в Opera 10.50 (https://javascript.ru/forum/css-html-browser/7964-bag-v-opera-10-50-a.html)

Cr@ZyBoY 01.03.2010 00:17

Баг в Opera 10.50
 
Народ, подскажите, у меня едет крыша, или всё-таки это баг?
<ul>
	<li>1</li>
	<li>2</li>
	<li>3</li>
	<li>4</li>
	<li>5</li>
	<li>6</li>
	<li>7</li>
	<li>8</li>
	<li>9</li>
	<li>10</li>
</ul>
<ul>
	<li>1</li>
	<li>2</li>
	<li>3</li>
	<li>4</li>
	<li>5</li>
	<li>6</li>
	<li>7</li>
	<li>8</li>
	<li>9</li>
	<li>10</li>
	<li>11</li>
	<li>12</li>
</ul>

var result = "", elems = document.getElementsByTagName("li");
function forEach(func) {
	var e = 0, ie;
	while (ie = elems[e++]) func.apply(ie, [e - 1]);
}
forEach(function() {});
forEach(function(j) {
	result += " " + j;
});
alert(result); // 0 1 2 3 4 5 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7

Проверял в свежей сборке RC. Из-за подобной тупости не работает меню на моём сайте (там ещё хлеще - переданная функции переменная undefined). Во всех других браузерах, в том числе и в предыдущих стабильных версиях Оперы, всё нормально.
Кстати интересно, кто-нибудь находил в новой Опере ещё какие-нибудь странные баги?

Gvozd 01.03.2010 00:42

Цитата:

Сообщение от Cr@ZyBoY
у меня едет крыша, или всё-таки это баг?

Таки баг
указанной версии оперы у меня нету, чтобы изучить природу этого бага

Octane 01.03.2010 00:56

Вообще не понятно, как этот баг воспроизвести еще раз, от чего он зависит. Заменяешь apply на call, все работает, удаляешь первый вызов forEach, опять все работает, переписываешь перебор элементов по человечески, и нова все работает! Но стоит запустить приведенный код, получаешь эту хрень :blink:
----------
Ага! Запуск Dragonfly тоже все исправляет :D

subzey 01.03.2010 13:34

Пишите в саппорт Оперы, бо 10.50 еще не вышла.

Cr@ZyBoY 01.03.2010 17:36

Я уже отписывал им про баг с неработающей менюшкой сайта ещё на первой альфе. Уже вот RC3, думаю сейчас писать бестолку, хотя конечно попробую...

subzey 01.03.2010 18:49

Мой репорт про лайтбокс на спид диале, крушивший Оперу в два щелчка, исправили только через две версии.

Cr@ZyBoY 01.03.2010 19:08

Мда. Всё-таки плохо, что Опера не опенсорс - такие вещи, как мне кажется, исправлялись бы куда быстрее. Уж разработчики бы точно нашлись.
P.S: про баг им отписал, а так он решился заменой apply на call

subzey 02.03.2010 14:05

Цитата:

Сообщение от subzey
10.50 еще не вышла

накликал, хехе. Уже вышла.

Cr@ZyBoY 02.03.2010 16:05

Они так торопились из-за выхода экрана выбора браузеров для Windows, поэтому работали с адской скоростью (5 релиз-кандидатов за 24 часа). Лично я пока останусь на 10.10. Скорее всего через пару недель выпустят 10.51 с исправлением насущных багов, вот тогда и перейду.


Часовой пояс GMT +3, время: 11:15.