Skip to content

Instantly share code, notes, and snippets.

@384400
Last active January 19, 2016 15:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 384400/eed3af247fc06d110740 to your computer and use it in GitHub Desktop.
Save 384400/eed3af247fc06d110740 to your computer and use it in GitHub Desktop.
[Html] [JavaScript] [Css] Inclure correctement Html5 Shiv

Comment inclure correctement Html5 Shiv ?

Le script [html5shiv] (https://github.com/afarkas/html5shiv) est la solution la plus répandue pour assurer le support de Html 5 dans les vieux navigateurs. Or, son inclusion est souvent problématique.

Certains auteurs recourent aux commentaires conditionnels pour que le code ne soit pris en compte que par les anciennes versions d'Internet Explorer. Cette option est insatisfaisante : d'autres navigateurs, plus rares certes, ne supportent pas non plus Html 5.

La détection par navigateur n'est jamais satisfaisante !

... Ainsi que le rappelle [Microsoft] (https://msdn.microsoft.com/fr-fr/library/hh273397%28v=vs.85%29.aspx).

Comme il faut néanmoins partir d'un postulat, nous formons l'hypothèse que tous les navigateurs supportent la version 1.5 de JavaScript... publiée en l'an 2000 !

Parfois est simplement inclus le script, qui sera pris en compte par tous les navigateurs. Ce choix, plus pertinent, contraint à un chargement inutile, alors que la ressource est rare ! De kilo-octet en kilo-octet, les pages s'alourdissent considérablement ; la fluidité de consultation est compromise.

Il est plus habile et aussi simple de détecter le support de Html 5, par exemple avec canvas. Dans la négative, et seulement dans la négative, est appelé [html5shiv] (https://github.com/afarkas/html5shiv).

La syntaxe utilisée est compatible avec tous les navigateurs, comme le confirme [JavaScript compatibility checker] (http://jscc.info/).

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Comment inclure correctement Html5Shiv ?</title>
<meta name="description" content="Comment inclure correctement Html5Shiv ?" />
<script>
var canvasElement = document.createElement('canvas');
if (!canvasElement.getContext) {
var shivNew = document.createElement('script');
shivNew.setAttribute('type', 'text/javascript');
/*shivNew.src = 'js/html5shiv.min.js';*/
shivNew.src = 'https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js';
shivNew.async = true;
var shiv0 = document.getElementsByTagName('script')[0];
shiv0.parentNode.insertBefore(shivNew, shiv0);
}
</script>
</head>
<body>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment