2013-03-22 6 views
0

브라우저가 "cssscrollbar"속성 (true 또는 false)을 지원하는지 여부를 감지하려면 modernizer를 사용해야합니다. 그 가치에 따라 나는 플러그인과 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); 

확인 내가 언급하고있는 fiddle :

내가 인식하지 오전 아래이 같은 무언가를 사용하고 있습니다. u는이를 추가하는 경우 다음 U는 모더 나이저에 대한 cssscrollbar 지원을해야합니다

+1

그럼 뭐가 문제입니까? –

+0

2.6.2를 사용하고 있습니다. havenot은 cssscrollbar에 대한 지원을 얻었으므로 플러그인에 스크롤바에 대한 테스트를 추가하고 싶습니다 .... 나는 근대화를 처음 접했습니다. – mandava

+0

그런 기능을 테스트하는 방법이나 Modernizr에 테스트를 통합하는 방법을 궁금해하십니까? –

답변

0
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; 
}); 

..................