Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Непонятный подарок от Opera 12 (https://javascript.ru/forum/css-html-browser/52957-neponyatnyjj-podarok-ot-opera-12-a.html)

laimas 14.01.2015 18:55

Непонятный подарок от Opera 12
 
Проблема, которую наблюдаю впервые.

На странице есть корзина - для краткого представления, в которой отображается всего товаров и их сумма. Элемент ее имеет класс total-N, где N число, определяющее какой корзине это принадлежит. Это не суть важно, в общем корзина не одна, поэтому так.
Количество и сумма отображаются в тегах B этого элемента.

Сама корзина, это фиксированная панель расположенная внизу с отрицательным позиционированием, когда запрашивается, выкатывается.
В ней тоже есть элемент отображающий общее количество товара и их сумму, имеет такое же имя класса как и у краткой корзины, и ее значения также отображаются в тегах B.

Написано на jQuery. Когда в корзине отмечаем чекбокс для удаления товара какого либо или изменяем его количество, то происходит перерасчет количества товаров и их суммы, и отображение:

$('.total-'+k).find('b').eq(0).text(n).end().eq(1).text(toFormat(s));


При этом во всех браузерах все нормально - изменения отражаются и в кратком представлении корзины и раскрытой корзины с которой работаем.

Opera 12 нет. Изменения она то вносит, но видно их только тогда когда, панель корзины свернем, и развернем вновь. Такой бардак только ли с корзиной или с кратким представлением тоже я не проверял, корзина открытая перекрывает краткое представление. Да и бог с ней, главное чтобы в корзине сразу были видны изменения.

Может кто что подобное наблюдал? jQuery 1.8.2.

рони 14.01.2015 19:11

laimas,
наберите в поиске по форуму Opera и вы увидите ссылки многолетней давности по этой теме и возможные решения.

laimas 14.01.2015 19:29

а как тут такой поиск сделать?
попадаю на поиск в теме этой.

Все, спасибо, нашел )

рони 14.01.2015 19:52

laimas,
http://javascript.ru/forum/misc/3378...u-tablicy.html
http://javascript.ru/forum/project/1...html#post87884

laimas 14.01.2015 20:10

Нет, не помогает из того что есть. То что она тупая, эта Opera, так это понятно, она и новая не лучше, одно только обрамление содержимого тега NOSCRIPT в кавычки хватает, чтобы задать себе вопрос - у них с головой все в порядке?

Но что проку, совет сделать перерисовку чего либо, чтобы дать понять что обновить надо, не помогает. Что еще придумать...

PS. Получилось только клонирование с заменой. Перерисовка не помогает, вернее можно что-то скрыть/показать, но увы со значением не менее 1, а это моргание.

Deff 15.01.2015 00:07

laimas,
Тест сайт есть с проблемным куском ?

ruslan_mart 15.01.2015 05:41

Цитата:

Сообщение от laimas
То что она тупая, эта Opera, так это понятно

Думаю, что проблема в кодерах. Не ставият var или ещё что-нибудь, а потом жалуются какие плохие браузеры.

laimas 18.01.2015 20:57

Да нет, проблем с var, где этому и положено быть, нет.
А вот прием перерисовать в моем случае не прокатывает, ну если только не все содержимое документа еще надо было попробовать обновить, но думаю слишком жирно и никчемно.
А вот клонирование только лишь всего элемента total, с замещением его клонированным дало желаемое.

А кто знает как достучаться до разработчиков этого замечательного браузера?

Потому, как, надо быть, да-да, либо тупым, либо завидным пофигистом, обрамляя содержимое контейнера noscript в кавычки. И кодеров, как вы сказали, не спасут от этого идиотизма никакие VAR.

Если же перерисовка не работает в то время как содержание изменяется по вине опять "кодеров" (по вашему мнению конечно), то выходит, что Opera на движке WebKit милостивила бедолагам с барского плеча не заботиться об этой проблеме, или же не так, и она права, и это временный передых?


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