У меня есть веб-страница с некоторыми div и контентом (сетка Kendo UI внутри Kendo Splitter), которые получают размер автоматически, чтобы соответствовать доступному пространству, когда страница готова или изменена. Это происходит с помощью обработки Javascript + JQuery с обычными триггерами, и она работает плавно.
Но когда панель инструментов открыта, например Firebug, происходит следующее:
Если я обновляю и переключаюсь на другую вкладку браузера до загрузки страницы, я возвращаюсь к своей странице, я вижу, что один из divs (grid one) больше, чем его контейнер, поэтому он переполняется несколькими пикселями. Кстати, это происходит через несколько мгновений после того, как страница была отображена, поэтому нельзя использовать триггер visibilitychange
.
То же самое происходит в IE, просто открывая внутристраничный отладчик.
Я не думаю, что виджет KendoUI связан с этой проблемой, но я сообщаю об этом ради полноты.
Поэтому я подумал, что лучший способ исправить это будет состоять в том, чтобы воспользоваться некоторым событием, которое запускается, когда документ отображается пользователем. Он существует?
Возможно, вам захочется прослушать focus
и blur
событий в window
следующим образом:
$(window).on('focus', function() {
//(...)
});
событие blur
запускается при переходе на другую вкладку или в другое окно, кроме окна браузера. focus
событие делает обратное.
Я мог бы добавить jsfiddle здесь, но он использует iframes
чтобы он не мог быть правильно протестирован.