Internet Explorer 8 и плагин thickbox.js

Вчера устанавливал IE8, чтобы пофиксить пару багов в клиенском сайте. Проблемы с чудо браузером начались ещё на этапе установки.
Родной дистрибутив от MS отказался устанавливаться, мотивируя отказ отсутствием каких то там библиотек... Танцы с бубном и использование сборки от Google решили проблему. :)
После установки наткнулся на некорректное взаимодействие этого чуда с популярным плагином для jQuery thickbox.js. Суть глюка - не всегда корректно определяется версия браузера и на некоторых разрешениях монитора наблюдаются проблемы с позиционированием. То есть всплывающее окно отображается слишком низко или слишком высоко (не по центру).
Решение проблемы.
Модифицируем функцию позиционирорвания tb_position()
Было:
function tb_position() {
$("#TB_window").css({
marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px',
width: TB_WIDTH + 'px'
});
if (!(jQuery.browser.msie &&
jQuery.browser.version < 7)) {
$("#TB_window").css({
marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'
});
}
}
Стало:
function tb_position() {
$("#TB_window").css({
marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px',
width: TB_WIDTH + 'px'
});
$.browser.msie6 = $.browser.msie &&
/MSIE 6\.0/i.test(window.navigator.userAgent) &&
!/MSIE 7\.0/i.test(window.navigator.userAgent) &&
!/MSIE 8\.0/i.test(window.navigator.userAgent);
if ( !(jQuery.browser.msie6)) {
$("#TB_window").css({
marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'
});
}
}
Ярлыки: jQuery
Комментарии: 0:
Отправить комментарий
Ссылки на это сообщение:
Создать ссылку
<< Главная страница