|
<!doctype html> |
|
<html class="no-js"> |
|
<head> |
|
<meta charset="utf-8" /> |
|
<title>Comment détecter les caractéristiques d'un navigateur sans Modernizr</title> |
|
<meta name="description" content="Comment détecter les caractéristiques d'un navigateur sans Modernizr ?" /> |
|
</head> |
|
<body> |
|
<script> |
|
function supportFlex() { |
|
var flexElement = document.documentElement.style; |
|
/*if (('flexWrap' in flexElement) || ('WebkitFlexWrap' in flexElement) || ('msFlexWrap' in flexElement)) { |
|
return true; |
|
}*/ |
|
if (('flex' in flexElement) || ('WebkitFlex' in flexElement) || ('msFlex' in flexElement)) { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportTableGrid() { |
|
var tableElement = document.createElement('div'); |
|
tableElement.setAttribute('style', 'display: table'); |
|
if (tableElement.style.display == 'table') { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportRem() { |
|
var remElement = document.createElement('div'); |
|
remElement.setAttribute('style', 'font-size: 1rem'); |
|
if (remElement.style.fontSize == '1rem') { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportSvg() { |
|
if (document.implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#Shape', '1.0')) { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportFormData() { |
|
if (window.FormData !== undefined) { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportQuerySelector() { |
|
if (document.createElement('div').querySelector) { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportQuerySelectorAll() { |
|
if (document.querySelectorAll) { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportElementById() { |
|
if (document.getElementById) { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportElementsByClassName() { |
|
if (document.getElementsByClassName) { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportAddEventListener() { |
|
if (document.implementation.hasFeature('MutationEvents','2.0') || window.MutationEvent) { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportClassList() { |
|
if ('classList' in document.createElement('div')) { |
|
return true; |
|
} |
|
return false; |
|
} |
|
function supportXhrResponse() { |
|
if (typeof new XMLHttpRequest().responseType === 'string') { |
|
return true; |
|
} |
|
return false; |
|
} |
|
document.getElementsByTagName('html')[0].className = document.getElementsByTagName('html')[0].className.replace('no-js', 'js'); |
|
if (!supportFlex()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-flex'; |
|
} |
|
if (!supportTableGrid()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-table-grid'; |
|
} |
|
if (!supportRem()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-table-rem'; |
|
} |
|
if (!supportSvg()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-svg'; |
|
} |
|
if (!supportFormData()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-form-data'; |
|
} |
|
if (!supportQuerySelector()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-query-selector'; |
|
} |
|
if (!supportQuerySelectorAll()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-query-selector-all'; |
|
} |
|
if (!supportElementById()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-element-by-id'; |
|
} |
|
if (!supportElementsByClassName()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-elements-by-class-name'; |
|
} |
|
if (!supportAddEventListener()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-add-event-lister'; |
|
} |
|
if (!supportClassList()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-class-list'; |
|
} |
|
if (!supportXhrResponse()) { |
|
document.getElementsByTagName('html')[0].className += ' '; |
|
document.getElementsByTagName('html')[0].className += 'no-support-xhr-response'; |
|
} |
|
</script> |
|
</body> |
|
</html> |