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 :
Mes pages HTML sont de la forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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")); } };
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
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 !
Partager