Bonjour, voila ma situation actuelle:
jai une page principale avec un menu flash deroulant et selon les boutons il y a un code , par exmple:
Ce code est traité dans un fichier ajax.js inclu dans ma page principal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 on (press,release){ getURL ("javascript:load_page('?contenu/son/home_cinema')", "_top"); }
Ce fichier ajax.js contient la fonction pour le xhr:
et une fonction pour charger la page ne recupérant via GET le nom du "fichier" à charger:
Code : 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 // JavaScript Document /************************************************* Fonction de definition de l'object xhr **************************************************/ function new_xhr(){ var xhr_object = null; if(window.XMLHttpRequest) // Firefox et autres xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr_object = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr_object = false; } return xhr_object; }
Code : 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 /***************************************************** Fonction qui va recharger le contenu ******************************************************/ function load_page(select) { doAjaxAction('corps','select.split('?')[1]+".php"'); // Met la ResponseText brute dans l'élément MonElement. doAjaxAction('','select.split('?')[1]+".php"'); // Exécute mon code JS. var xhr2 = new_xhr();//On crée un nouvel objet XMLHttpRequest xhr2.onreadystatechange = function(){ if ( xhr2.readyState == 4 ){//Actions executées une fois le chargement fini if(xhr2.status != 200){//Message si il se preoduit une erreur document.getElementById("corps"); document.getElementById("corps").innerHTML ="Error code " + xhr2.status; } else {//On met le contenu du fichier externe dans la div "content" document.getElementById("corps"); alert("Reponse script externe:" +xhr2.responseText); var tmp = xhr2.responseText; document.getElementById("corps").innerHTML= tmp; } } } xhr2.open("GET", select.split('?')[1]+".php", true);//Appel du fichier externe xhr2.send(null); }
Cependant ma page de l'exmple home_cinema contient du js car elle contient des listes deroulantes liées.
J'ai donc une fonction mise dans ajax.js qui sert à lire le code js, la voici:
Cependant elle aussi se charge de charger le contenu, je voudrais donc l'adapter pour quelle charge l contenu html et js des page et que le "fichier" a charger soit recupéré de la même sorte que mon load_page précédent seulement la c'est chaud!
Code : 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 /**************************************** fonction pour interpreter js *****************************************/ function doAjaxAction(Ele,File) { var myajax = new createAjaxObject(); myajax.open("GET", File, true); myajax.onreadystatechange = function() { if (myajax.readyState == 4 && myajax.status == 200) { if ( document.getElementById(Ele) ) { document.getElementById(Ele).innerHTML = myajax.responseText; } else { eval(myajax.responseText); } } } myajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); myajax.send(null); }
Comment procédé? merci
Partager