Проблема, которую мы обнаружили, заключается в том, что в браузере OS5 возникают проблемы с обновлением DOM при изменении свойств экрана с BLOCK на NONE. Представитель BlackBerry даже сказал нам, что следует избегать обновления DOM в OS5 (тьфу!).
Итак, решение, которое мы в итоге решили, заключалось в том, чтобы не использовать .show()
и .hide()
, а вместо этого мы переключали имя класса. Каждое устройство, кроме OS5, будет иметь имя класса, переключающее свойство отображения, OS5, однако, будет переключать высоту с auto
до 0px
Это сделало OS5 счастливым.
Все это говорит о том, что это все еще не объясняет некоторые переменные ... например, что мы можем запустить код локально как статическую страницу и просто запустить его в симуляторе. Но точно такой же код вылетел бы, если бы мы попытались загрузить страницу с нашего сервера.
Мы также можем без проблем использовать .show () в другом месте приложения.
В конце концов, я считаю, что это определенная комбинация CSS, примененная к родительским элементам, которая убивает браузер, если некоторые из его дочерних элементов имеют переключение display
.