Javascript fonction "include" sans langage serveur
Bonjour � toutes et � tous !
J'ai fait de mon mieux pour avoir un titre assez clair, je travaille en ce moment sur un site destin� � �tre utilis� offline par des utilisateurs non-techniciens et qui sera v�hicul� sur une cl� usb par exemple. (Ce site est un tutoriel).
Je ne peux donc pas me permettre d'employer de langage server-side. J'ai fini par trouver sur la toile un code JavaScript me permettant d'inclure mon menu et mon footer sur toutes mes pages. Cela fonctionne tr�s bien sous firefox, mais certains utilisateurs seront sous IE v8, et l� devinez... �a ne marche pas !
J'ai activer les scripts sous IE etc... J'ai pas mal chercher avant de m'en remettre � vous mais l� je suis coinc�.
Mes comp�tences en javascript sont plut�t sommaires, mais je me d�brouille pas trop mal en html et css... Je n'ai pas de message d'erreur dans la console IE, mais rien de ce qui devrait �tre inclut ne s'affiche...
Voici le code JS :
Code:
1 2 3 4 5 6 7 8 9
| window.onload = function () {function a(a, b) {var c = /^(?:file):/, d = new XMLHttpRequest(), e = 0;
d.onreadystatechange = function () {4 === d.readyState && (e = d.status);
c.test(location.href) && d.responseText && (e = 200);
4 === d.readyState && 200 === e && (a.outerHTML = d.responseText);
};
try {d.open("GET", b, !0);
d.send();
} catch (ignore) {} } var b, c = document.getElementsByTagName("*");
for (b in c) {c[b].hasAttribute && c[b].hasAttribute("data-include") && a(c[b], c[b].getAttribute("data-include")); } }; |
Mes pages HTML sont de la forme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <html>
<head>
<link rel="stylesheet" href="../style.css" />
<link rel="stylesheet" href="../menu.css" />
<script type="text/javascript">
window.onload = function () {function a(a, b) {var c = /^(?:file):/, d = new XMLHttpRequest(), e = 0;
d.onreadystatechange = function () {4 === d.readyState && (e = d.status);
c.test(location.href) && d.responseText && (e = 200);
4 === d.readyState && 200 === e && (a.outerHTML = d.responseText);
};
try {d.open("GET", b, !0);
d.send();
} catch (ignore) {} } var b, c = document.getElementsByTagName("*");
for (b in c) {c[b].hasAttribute && c[b].hasAttribute("data-include") && a(c[b], c[b].getAttribute("data-include")); } };
</script>
<title>TUTO</title>
</head>
<body>
<!------------------------------------ MENU --------------------------------------->
<div data-include="000000menu.html"></div>
<!-------------------------------- FIN MENU --------------------------------------->
<!-------------------------------- Boite Dialogue --------------------------------------->
<div id="section">
<div class="article">
</div>
</div>
<!------------------------------ FIN Boite Dialogue ------------------------------------->
<!---------------------------------- Footer ----------------------------------------->
<div data-include="footer.html"></div>
<!-------------------------------- FIN Footer --------------------------------------->
</body>
</html> |
J'ai modestement essayer de d�bugger le code javascript � l'aide de ce site :www.jslint.com -> Mais je dois bien admettre que je suis un peu d�pass�... C'est pourquoi je sollicite votre aide !
Bien s�r je reste � votre disposition pour tout compl�ment d'information qui serait n�cessaire.
> Par avance, un tr�s grand MERCI !