Функция модернизации Обнаруживает

Я должен использовать модернизатор, чтобы определить, поддерживает ли браузер свойство «cssscrollbar», true или false. Основываясь на этом значении, я должен делать такие вещи, как добавление плагина и CSS.

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

var frag = document.createDocumentFragment();
for ( prop in Modernizr ) {
  var para = document.createElement('p');
    para.textContent = prop + ': ' + Modernizr[ prop ];
  frag.appendChild( para );
}

document.body.appendChild( frag );

Проверьте скрипту, о которой я говорю.


person mandava    schedule 22.03.2013    source источник
comment
Так в чем вопрос?   -  person Ja͢ck    schedule 22.03.2013
comment
я использую 2.6.2, у которого нет поддержки полосы прокрутки css, поэтому я хочу добавить тест для полосы прокрутки в плагин .... я очень новичок в модернизаторе.   -  person mandava    schedule 22.03.2013
comment
Итак, вам интересно, как протестировать эту функцию или как интегрировать тест в Modernizr?   -  person Ja͢ck    schedule 22.03.2013
comment
как проверить функцию   -  person mandava    schedule 22.03.2013


Ответы (2)


Modernizr.addTest('cssscrollbar', function() {

        // Tested Element
    var test = document.createElement('div'),

        // Fake body
        fake = false,
        root = document.body || (function () {
            fake = true;
            return document.documentElement.appendChild(document.createElement('body'));
        }()),

        property = 'scrollbar{width:0px;}';

    // Force scrollbar
    test.id = '__sb';
    test.style.overflow = 'scroll';
    test.style.width = '40px';

    // Apply scrollbar style for all vendors
    test.innerHTML = '&shy;<style>#'+Modernizr._prefixes.join(property+' #__sb::').split('#').slice(1).join('#')+property+'</style>';

    root.appendChild(test);

    // If css scrollbar is supported, than the scrollWidth should not be impacted
    var ret = test.scrollWidth == 40;

    // Cleaning
    document.body.removeChild(test);
    if (fake) {
        document.documentElement.removeChild(root);
    }
    return ret;
});

если вы добавите это, то у вас будет поддержка cssscrollbar для модернизатора..........

person mandava    schedule 22.03.2013

Есть функция testProp():

Modernizr.testProp('css-scrollbar');

Или вы можете настроить свой Modernizr (откройте "Неядерные обнаружения"):

person Marius Stuparu    schedule 22.03.2013