Partage
  • Partager sur Facebook
  • Partager sur Twitter

GM_xmlhttpRequest et Chrome

Sujet résolu
Anonyme
    24 octobre 2011 à 15:04:05

    Bonjours,

    Dans Greasemonkey, il y a une fonction qui s'appel GM_xmlhttpRequest() et qui permet de charger un fichier xml comme ceci :


    GM_xmlhttpRequest({
    method: "GET",
    url: "Url du fichier xml",
    headers: {
    "Accept": "text/xml"
    }

    et qui stock le tout dans des variables comme "xml.balise1"

    Existe il une fonction similaire en javascript (pour qu'elle soit compatible avec Chrome et Firefox en même temp) ?


    Cordialement,
    • Partager sur Facebook
    • Partager sur Twitter
      24 octobre 2011 à 15:31:05

      Salut,

      Un minimum de recherche t'aurait épargné la peine de poster ici !

      Voilà pour notre ami google :
      http://www.google.com/search?btnG=1&pw [...] mlhttpRequest

      Et bien sur notre cher site du zéro :
      http://www.siteduzero.com/tutoriel-3-1 [...] prequest.html

      Bonne lecture ;)
      • Partager sur Facebook
      • Partager sur Twitter
        24 octobre 2011 à 15:50:42

        @NoseborN : Un peu de recherche t'aurais permis de savoir que l'interet de GM_xmlhttpRequest, c'est de permettre le cross-domain, ce que le XJH normal ne permet pas.

        @charlus97 : Suivant ce que tu veux faire, tu peux peut-etre le faire avec un XHR2 et un header http allow origin. Si c'est un fichier local, tu peux simplement te faire une fonction qui utilise soit ca, soit le truc correspondant chorme. C'est pas terrible mais ca marche.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          24 octobre 2011 à 15:56:30

          Tout ce que je désire faire, c'est de charger un fichier xml pour pouvoir ensuite le parser ^^'
          • Partager sur Facebook
          • Partager sur Twitter
            24 octobre 2011 à 16:05:12

            Tout dépend si ce fichier XML est sur ton serveur, en local sur ta machine ou sur un autre serveur.

            Dans les deux premiers cas, un simple XHR sera suffisant.
            • Partager sur Facebook
            • Partager sur Twitter
              24 octobre 2011 à 16:06:20

              Les XHR, ca marche pas toujours vers le local...
              • Partager sur Facebook
              • Partager sur Twitter
                24 octobre 2011 à 16:06:52

                Oui il suffit de configurer son browser, ça devrait aller.
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  24 octobre 2011 à 16:20:53

                  le fichier xml et sur mon serveur web apache donc je doit utilisé xmlhttpRequest ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    24 octobre 2011 à 16:42:27

                    Hum, j'ai essayer de faire comme ceci :

                    <script language="javascript" type="text/javascript">
                    function test() {
                    	var xhr_object = null;
                    	if(window.XMLHttpRequest) // Firefox
                    		xhr_object = new XMLHttpRequest();
                    
                    	xhr_object.open("GET", "http://en-manque.wyrda.fr/index.php/feed/player_get", false); 
                    	xhr_object.send(null);
                    	xml = xhr_object.responseText
                    	alert(xhr_object.responseText)
                    	lol = xml.getElementsByTagName("pseudo")
                    	alert(lol)
                    }
                    </script>
                    
                    <input type="button" value="Try ?" onclick="test()" />
                    


                    Mais visiblement, j'ai foiré quelque chose mais quoi ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 octobre 2011 à 17:47:45

                      Vas voir le chapitre sur le XHR du tuto JS qui vient de sortir ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        24 octobre 2011 à 19:46:38

                        Hum, j'ai revue mon script et il fonctionne enfin, a peut près :

                        <script language="javascript" type="text/javascript">
                        function request01() {
                        	var xhr_object = null;
                        	
                        	if(window.XMLHttpRequest) // Firefox
                        		xhr_object = new XMLHttpRequest();
                        	else if(window.ActiveXObject) // Internet Explorer
                        		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
                        	else { // XMLHttpRequest non supporté par le navigateur
                        		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                        		return;
                        	}
                        
                        	xhr_object.open("GET", "file:///C:/Users/XXX/Desktop/mapage.html", false);
                        	xhr_object.send(null);
                        	alert(xhr_object.responseText);
                        }
                        </script>
                        
                        <input type="button" value="Try ?" onclick="request01()" />
                        


                        là, aucuns problème mais quand je remplace "mapage.html" par "monfichier.xml" ca ne marche plus. De même si je met l'adresse d'une page html sur serveur.

                        EDIT : En fait, il ne marche que si l'url est celle de la page ou le code est.

                        Que faire pour que cela marche ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 octobre 2011 à 19:54:07

                          Tu veux un lien ?
                          Tiens un lien.
                          En local, une page = un domaine.
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            24 octobre 2011 à 21:13:46

                            Ah, j'avais pas vu cette partie.

                            Par-contre, comment je peut definir un header sur un fichier xml oO
                            • Partager sur Facebook
                            • Partager sur Twitter
                              24 octobre 2011 à 22:17:25

                              Tu le mets dans un .htaccess
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                24 octobre 2011 à 22:24:33

                                Ok, erreur 500.

                                Header set Access-Control-Allow-Origin: *

                                Le tout en .htaccess. (Je sais, j'suis pas doué ce soir :x)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  24 octobre 2011 à 23:29:33

                                  Tu l'a bien mis dans une section Files ?
                                  <Files fichier.xml>
                                  Header set Access-Control-Allow-Origin "*"
                                  </Files>
                                  

                                  Et tu dois meme pouvoir specifier le chemin de facon a ce que si tu as d'autre fichiers avec le meme nom, ils n'aient pas le header.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    25 octobre 2011 à 13:08:23

                                    Ups, faute de frappe.

                                    Tour marche maintenant, merci =)
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    GM_xmlhttpRequest et Chrome

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown