Ajax inter-site (cross-site) sous ie sans tenir compte des paramètres de sécurité du client et sans lui demander d'autorisat

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 665 fois - Téléchargée 18 fois

Contenu du snippet

Un code tout simple mais qui peut tout de même aider certaines personnes

NOTE : Ne marche ni sur FF ni sur OPERA... Peut-être qu'en créant une nouvelle frame qui posséderait dès le début un BASE avec le bon domaine.... Pensez a effectuer le remplacement demandé (sinon ca ne marchera que sous IE 7)

Source / Exemple :


<html>
    <head><base href="" id="document.base" /></head>
    <body>
        <script><!--
            document.base = document.getElementById("document.base");
            window.base = document.base;
            base.href=location.href;

            function getFileContent(domain, path) {
                // A remplacer par votre méthode pour obtenir un object XHR
                var xhr = new XMLHttpRequest();
                // Fin du remplacement
                var currentUrl = base.href;
                base.href=domain;
                xhr.open("GET", path, false);
                xhr.send(null);
                base.href=currentUrl;
                return xhr.responseText;
            }
            
            document.write(getFileContent('http://www.google.be/',"webhp"))
        --></script>
        Ceci devrait s'effacer sous internet explorer (7 ou moins)
    </body>
</html>

A voir également

Ajouter un commentaire

Commentaires

jdmcreator
Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
4 -
Merci, c'est vraiment utile :)
VBtoTRASH
Messages postés
59
Date d'inscription
vendredi 18 juillet 2008
Statut
Membre
Dernière intervention
31 mars 2011
-
Salut,

Maintenant, c'est possible de faire du Cross-Domain avec Firefox 3.1 ou IE8.
Çà fonctionne très bien.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Techniques AJAX - XDomainRequest</title>
<script type="text/javascript">
<!--

function getXDomainRequest() {
var xdr = null;

if (window.XDomainRequest) {
xdr = new XDomainRequest();
} else if (window.XMLHttpRequest) {
xdr = new XMLHttpRequest();
} else {
alert("Votre navigateur ne gère pas l'AJAX cross-domain !");
}

return xdr;
}

//Fonction d'origine
//-----------------------------------------------------------------------
function sendData() {
var xdr = getXDomainRequest();
xdr.onload = function() {
alert(xdr.responseText);
}

xdr.open("GET", "http://www.foxycode.net/dev/ajax/XDomain_1.php");
xdr.send();
}
//Fonction modifiée par ErySoft
//-------------------------------------------------------------------------
function eswd_charger_fichier_domaine(url)
{
var xdr = getXDomainRequest();
xdr.open("GET",url,false);
xdr.send();
return xdr.responseText;
}

//-->
</script>
</head>

</html>

Source récupérée sur SiteDuNul

Firefox 3.1 a deux fonctions XMLHttpRequest.
- Une pour charger des fichiers sur le même domaine
- Une pour charger des fichiers sur un autre domaine.

ErySoft 2009
FREMYCOMPANY
Messages postés
278
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
22 décembre 2008
-
Ah mince alors...
En effet j'ai testé en locale, pas sous serveur

C'est étrange parceque normalement, AJAX est similaire sur le disque dur local et un serveur...

Désolé si je vous ai donné un faux espoir dans ce cas :S

Enfin, je me console en me disant que ca peut encore servir pour les rares habitués à la programation d'HTML locaux
ordiman85
Messages postés
41
Date d'inscription
samedi 4 mars 2006
Statut
Membre
Dernière intervention
19 mars 2010
-
Fonctionne lorsque le fichier html se situe sur le disque dur local, sinon pas :( dommage
medelidrissi
Messages postés
180
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
26 novembre 2007
1 -
Bonjour,

Malheureusement ça ne marche pas(ou plus) dans IE7 : Accès refusé.

Bonne programmation.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.