Проверьте, если версия iOS> = 4.2, и пересмотрите CSS, основываясь на результате - PullRequest
3 голосов
/ 04 января 2012

Я использую Typekit.com для отображения cufonts на сайте, однако он совместим только с мобильными браузерами> = 4.2 iOS. Я использовал jQuery для проверки того, использует ли посетитель iOS, и для отображения определенного контента, основанного на этом в прошлом (без пота), но у меня много трудностей, чтобы понять, как быть более конкретным и пересмотреть ТОЛЬКО CSS ЕСЛИ версия МЕНЬШЕ, чем версия 4.2 для iOS. Не могу понять это ... любая помощь?

Ответы [ 2 ]

11 голосов
/ 05 января 2012

Поместите ваши стили 4.2+ в одну таблицу стилей.Поместите ваши <4.2 стилей в другой.Проверьте версию и добавьте соответствующую таблицу стилей в <code><head>.Вам нужно будет протестировать более старые строки пользовательских агентов, но это должно работать с большинством.Функция возвращает 0 (если она не может определить или это не iOS) в качестве отката к "старой" таблице стилей.

Демо: http://jsfiddle.net/ThinkingStiff/LJrEW/

Скрипт:

var style = '';

if( getOsVersion() >= 4.2 ) {
    style = '<link rel="stylesheet" href="styles/ios.css" />';
} else {
    style = '<link rel="stylesheet" href="styles/ios_old.css" />';
};

document.head.insertAdjacentHTML( 'beforeEnd', style );

function getOsVersion() {
    var agent = window.navigator.userAgent,
        start = agent.indexOf( 'OS ' );

    if ( /iphone|ipod|ipad/.test( agent ) && start > -1 ) {
        return window.Number( agent.substr( start + 3, 3 ).replace( '_', '.' ) );
    } else {
        return 0;
    };

};
1 голос
/ 04 января 2012

Вы можете использовать user-agent, чтобы получить конкретную версию ios, на которой работает устройство.

...