enquire.js устаревшая поддержка

Я пытаюсь выяснить, какой лучший способ заставить enquire.js работать в старых браузерах (т.е. 6-9). На сайте enquire говорится, что нужно использовать modernizr для проверки поддержки matchMedia, а затем загрузить полифилл, если он не поддерживается.

Modernizr.load([
    //first test need for polyfill
    {
        test: window.matchMedia,
        nope: "/path/to/polyfill.js"
    },

    //and then load enquire
    "/path/to/enquire.js"
]);

Глядя на предложенный полифилл, он говорит, что модернизр уже включает его в Modernizr.mq().

    Used in:
    Respond.js
    FormFactor
    Modernizr
https://github.com/paulirish/matchMedia.js/

Я изучил это, но не могу найти способ сделать эту работу.

1 ответ

Решение

Узнать автора здесь!

Так что всегда есть небольшая путаница с полифилом matchMedia. Он не поддерживает поддержку мультимедийных запросов CSS3 в старых браузерах. Что он делает, так это заполняет API-интерфейс javascript matchMedia для тех браузеров, которые поддерживают медиазапросы CSS3, но не предлагают этот API. Смотрите здесь для поддержки matchMedia. Например, IE9 поддерживает медиазапросы CSS3, но не имеет JS API matchMedia, это цель полифилла matchMedia Пола Ирриша.

Если вы ищете полнофункциональный полифилл, который обеспечивает достойную поддержку медиазапросов для старых браузеров, могу ли я предложить использовать медиа-совпадение Дэвида Найта? Я работал вместе с ним, чтобы протестировать это и доказал поддержку вплоть до IE6 - это работает очарование:) Вы можете найти это здесь: https://github.com/weblinc/media-match. Вы можете условно загрузить его точно так же, как я предложил в Modernizr, просто замените соответствующие детали.

Надеюсь, что это поможет, с удовольствием ответим на любые ваши дополнительные вопросы.

Другие вопросы по тегам