2013-10-14 3 views
3

Я пытаюсь использовать bxSlider, и IE8, похоже, не будет сотрудничать. В этом примере слайдер изображения либо свернут, либо вообще не отображается ... трудно сказать, потому что, когда я включаю инструменты разработчика для отладки, слайдер внезапно появляется, и все кажется хмурым.bxSlider не работает в IE8, если не активированы инструменты разработчика

http://www.ilium.com/test/

Был еще один подобный вопрос, в котором была ошибка Javascript (в другой слайд-шоу плагин), которая была решена путем включения консоли отладки:

jQuery script only working under ie8/9 developer tools

... но IE не кажется, чтобы делать какие-либо ошибки в моем случае, и исправления, предложенные, не работали для моей ситуации. Плюс я не думаю, что у меня есть console.log где-нибудь в моих сценариях. Я попытался добавить любое количество скриптов, которые активируют консоль при загрузке страницы, но безрезультатно.

Я попытался исправить направленный на разрешение конфликтов JQuery (предложенный на другом сайте, что я до сих пор не имею репутации достаточно перейти по ссылке), изменяя вызов bxSlider функции следующим образом:

<script>// <![CDATA[ 
    $jQ = jQuery.noConflict(); 
    $jQ('#home').live('pageshow',function(){ 
    $jQ('.bxslider').bxSlider({ 
    mode: 'fade', 
    auto: true, 
    pager: false, 
    controls:true, 
    pause: 9000, 
    }); 
    }); 
    // ]]> 
    </script> 

Ничего хорошее, и начал вызывать целые другие конфликты.

В выпуске GitHub (https://github.com/wandoledzep/bxslider-4/issues/197) было указано, что IE обрушивает LI в bxSlider и предлагает добавить CSS, чтобы дать LI ширину. Это также не сработало для меня.

Так что прямо сейчас я не в этом вопросе через несколько часов. Любые предложения, врачи?

ответ

0

Забавный я побежал в том же номере вечером - в моем случае я был в состоянии установить фиксированную высоту на BX-обертку так ....

.bx-wrapper{ 
    height: 500px !important; 
} 

установил ее для меня - не идеально, потому что Я ожидаю, что он будет гибким, но он работает здесь.

Я пробовал отлаживать скрипт и сузить его до обработчика resizeWindow-> redrawSlider, что приводит к тому, что дисплей имеет право самостоятельно (не только инструменты разработчика, но и событие окна изменения размера, которое происходит при их открытии). времени, но если у меня будет лучшее решение, завтра вы узнаете.

+0

Thanks @Migo. Рад, что вы его работали. К сожалению, мне нужно, чтобы это было гибким. Тем не менее, это хорошая информация ... Я бы никогда не подумал об этом, потому что я использую виртуальную машину для запуска IE8, и я не могу изменить размер окна. Это определенно дает мне некоторые идеи попробовать. Я дам вам знать, найду ли я гибкое решение. Приветствия и спасибо снова! –

+0

Привет @MigoFast, я обнаружил, что переход от страницы и обратно снова также приводит к появлению слайдера. Означает ли это какие-либо дополнительные подсказки? –

0

У меня была та же проблема. Для меня решение не изменяло размер скользящих изображений в процентах, а точным количеством пикселей. НАПРИМЕР,

<li><img src="image.jpg" style="width: 561px; height: 425px;" /></li> 

Вместо

<li><img src="image.jpg" style="width: 170%; height: 170%;" /></li> 

, а затем сделать изображение в ответ снова путем добавления IMG-отзывчивым класс Bootstrap в.

+1

Привет, спасибо @ user2609980. Рад, что вы ответили здесь, потому что я до сих пор не сортировал эту проблему. Я использую JQM, и я хочу, чтобы был класс img-responsive. Но если в Bootstrap нет какого-то бэкдор-материала, необходимого для выполнения этой работы, я должен просто взломать его. Похоже, все, что он делает, это применить 'width: 100%;' и 'height: auto;'. Я дам этот шанс и дам вам, как это получится ... хотя это может меня немного подтолкнуть, потому что мой css3mediaqueries.js в какой-то момент перестает работать, делая все это спорным. –

+0

@MattKristiansen Теперь я вижу, что я мог отвечать на другой вопрос :). У меня была проблема, что высота не отображалась корректно в IE8 (она была растянута), но она отображалась на хорошей высоте в FireFox. Это было решено с ответом выше. –

+1

Если вы говорите, что он работает, пока вы отлаживаете, в конце концов может быть 'console.log'. Вам не нужно использовать его для разрыва IE. –

0

У меня была такая же проблема с сайтом, что я сделал, чтобы исправить это, вместо того, чтобы изменять размер браузера (что также сработало для меня, именно это и открывало инструменты разработчика), я добавил немного кода для перезагрузки изображений (не из кеша) каждый раз в IE8 путем добавления произвольного запроса в конец каждого изображения. Казалось, это сработало для меня. Смотри ниже.

<div class="slide"><img src="images/your_image_name.jpg<?php if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE 8") > ""){ echo "?v=" . time(); } ?>" ></div> 
0

Это очень Hacky подход, но я обнаружил, что он работал в IE8 - По сути, это запускает окно изменения размера, заставляя ползунок BX перезагрузить

Поместите это внутри тега окно загрузки.

if ($('.bxslider').length > 0) { 

    slider = $('.bxslider').show().bxSlider(); 
    slider.reloadSlider(); 

} 

function fireOnResizeEvent() { 
var width, height; 

if (navigator.appName.indexOf("Microsoft") != -1) { 
    width = document.body.offsetWidth; 
    height = document.body.offsetHeight; 
} else { 
    width = window.outerWidth; 
    height = window.outerHeight; 
} 

window.resizeTo(width - 1, height); 
window.resizeTo(width + 1, height); 
} 

window.onresize = function() { 
    if ($('.bxslider').length > 0) { 
     slider.reloadSlider(); 
    } 
} 
Смежные вопросы