Javascript entre plusieurs domaines
Fermé
erysoft
Messages postés
42
Date d'inscription
jeudi 9 avril 2009
Statut
Membre
Dernière intervention
14 janvier 2012
-
10 avril 2009 à 00:05
erysoft Messages postés 42 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 14 janvier 2012 - 18 août 2009 à 17:31
erysoft Messages postés 42 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 14 janvier 2012 - 18 août 2009 à 17:31
Bonjour,
Ma question est simple. Je demande si quelqu'un sait enregistrer dans une variable JavaScript, ou une balise DIV identifié, une page d'un domaine différent avec l'instruction requete.open('GET', fichier, false), requete étant un objet XMLHttpRequest. J'utilise déjà cette fonction en travaillant dans le même domaine.
A vous lire.
ErySoft
Pour me dire que ceci n'est pas possible, autant s'abstenir de répondre !
Ma question est simple. Je demande si quelqu'un sait enregistrer dans une variable JavaScript, ou une balise DIV identifié, une page d'un domaine différent avec l'instruction requete.open('GET', fichier, false), requete étant un objet XMLHttpRequest. J'utilise déjà cette fonction en travaillant dans le même domaine.
A vous lire.
ErySoft
Pour me dire que ceci n'est pas possible, autant s'abstenir de répondre !
A voir également:
- Javascript entre plusieurs domaines
- Telecharger javascript - Télécharger - Langages
- Javascript est activé mais ne fonctionne pas ✓ - Forum Réseaux sociaux
- Erreur #125 javascript - Forum Mozilla Firefox
- Node.js javascript runtime virus ✓ - Forum Virus
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
4 réponses
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
10 avril 2009 à 01:47
10 avril 2009 à 01:47
Salut,
qu'entends-tu par "une page d'un domaine différent" ???
Je pense pouvoir t'aider mais je vois pas trop ce que tu veux faire.
A+
gaerebut
qu'entends-tu par "une page d'un domaine différent" ???
Je pense pouvoir t'aider mais je vois pas trop ce que tu veux faire.
A+
gaerebut
erysoft
Messages postés
42
Date d'inscription
jeudi 9 avril 2009
Statut
Membre
Dernière intervention
14 janvier 2012
5
16 avril 2009 à 20:04
16 avril 2009 à 20:04
Salut à .... il n'y a pas foule !
Je sais que la solution ne se trouve pas sur une page en première position sur Google, mais faîtes une effort.
De mon côté, je n'ai rien trouvé d'intéressant, mais je ne baisse pas les bras pour l'instant.
Je pense qu'il y a moyen de trouver avec VBScript.
A vous lire ...
ErySoft
Je sais que la solution ne se trouve pas sur une page en première position sur Google, mais faîtes une effort.
De mon côté, je n'ai rien trouvé d'intéressant, mais je ne baisse pas les bras pour l'instant.
Je pense qu'il y a moyen de trouver avec VBScript.
A vous lire ...
ErySoft
N@th@
Messages postés
97
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
7 mai 2009
12
16 avril 2009 à 20:24
16 avril 2009 à 20:24
Va voir là dessus : https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/245581-lxmlhttprequest-cross-domain
erysoft
Messages postés
42
Date d'inscription
jeudi 9 avril 2009
Statut
Membre
Dernière intervention
14 janvier 2012
5
17 avril 2009 à 09:04
17 avril 2009 à 09:04
Salut,
Je suis content de voir que je ne suis pas le seul entêté !
Je vais voir ce que cela donne, mais je tiens à te remercier pour l'info.
Ce que je trouve débile, c'est qu'il existe une multitudes de façons pour avoir le code source d'une page html. Alors que ce soit par une pompe à sites, la fonction "voir code source" de Firefox, ou une téléchargement http gérer par un programme ... on peut toujours avoir accès. Alors pourquoi js "sécurise" cette fonction pour se balader d'un domaine à l'autre.
Encore merci.
Je te tiens informé.
ErySoft
Je suis content de voir que je ne suis pas le seul entêté !
Je vais voir ce que cela donne, mais je tiens à te remercier pour l'info.
Ce que je trouve débile, c'est qu'il existe une multitudes de façons pour avoir le code source d'une page html. Alors que ce soit par une pompe à sites, la fonction "voir code source" de Firefox, ou une téléchargement http gérer par un programme ... on peut toujours avoir accès. Alors pourquoi js "sécurise" cette fonction pour se balader d'un domaine à l'autre.
Encore merci.
Je te tiens informé.
ErySoft
erysoft
Messages postés
42
Date d'inscription
jeudi 9 avril 2009
Statut
Membre
Dernière intervention
14 janvier 2012
5
17 avril 2009 à 12:33
17 avril 2009 à 12:33
Re,
La version Firefox 3.1 est nécessaire ... ou IE8 ! Sur le 3.07, cette fonction n'existe pas. Les versions IE supérieures demandent le SP2 ... ce qui revient à partir au boulot en laissant la porte de sa maison ouverte.
Quant aux autres (Opéra, Avant ..), je n'en sais strictement rien !
Pourtant cela me semblait acceptable.
Mais il reste la grosse bidouille ! On peut importer les images d'un autre domaine ... et on est pas obligé de mettre une image dans le fichier image.
SkyDrive acceptait l'attribution d'une url unique pour les fichiers stockés. Celle-ci était valable quelques mois, mais maintenant, sa validité est réduite à 24 heures ... d'après mes observations.
Avec Vista complètement pourri, les sites qui n'autorisent plus rien, il ne nous manque plus que le clavier qui va avec : 2 touches (Yes/No).
Salut
ErySoft
La version Firefox 3.1 est nécessaire ... ou IE8 ! Sur le 3.07, cette fonction n'existe pas. Les versions IE supérieures demandent le SP2 ... ce qui revient à partir au boulot en laissant la porte de sa maison ouverte.
Quant aux autres (Opéra, Avant ..), je n'en sais strictement rien !
Pourtant cela me semblait acceptable.
Mais il reste la grosse bidouille ! On peut importer les images d'un autre domaine ... et on est pas obligé de mettre une image dans le fichier image.
SkyDrive acceptait l'attribution d'une url unique pour les fichiers stockés. Celle-ci était valable quelques mois, mais maintenant, sa validité est réduite à 24 heures ... d'après mes observations.
Avec Vista complètement pourri, les sites qui n'autorisent plus rien, il ne nous manque plus que le clavier qui va avec : 2 touches (Yes/No).
Salut
ErySoft
erysoft
Messages postés
42
Date d'inscription
jeudi 9 avril 2009
Statut
Membre
Dernière intervention
14 janvier 2012
5
18 août 2009 à 17:31
18 août 2009 à 17:31
Bonjour,
Comme je suis têtu, j'ai trouvé une solution.
Il suffit d'appeler un proxy en php, sur un site d'hébergement qui accepte le php.
Voici le code du fichier xy.php à placer sur le site d'hébergement :
<?php
$adresse = $_GET['adr'];
$session = curl_init($adresse);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
$xml = curl_exec($session);
header("Content-Type : text/xml");
curl_close($session);
$nom_fichier = 'adresse.txt';
$file = fopen($nom_fichier,'w');
fwrite($file,$adresse);
fclose($file);
echo $xml;
?>
Voici la partie Javascript de votre page qui peut donc recevoir le code html d'un Cross Domain en mode texte :
function eswd_charger_fichier(fichier,comment)
{
var requete = null;
if (comment == null) comment = false;
if (window.XMLHttpRequest) {requete = new XMLHttpRequest();}
else if (window.ActiveXObject){requete = new ActiveXObject("Microsoft.XMLHTTP");}
else return;
requete.open('GET', fichier, comment);
requete.send(null);
return requete.responseText;
}
Formulation de la demande :
var le_site = eswd_charger_fichier('xy.php?adr=' + 'http://www.lesite.index.html', false)
Conclusion :
Dans la variable le_site, vous avez tout le code de la page "Cross Domain" en texte, et non en objet. Pour savoir si la proxy fonctionne, il laissera sous la même racine un fichier adresse.txt correspondant à l'url demandée.
Voilà voilà !
Comme je suis têtu, j'ai trouvé une solution.
Il suffit d'appeler un proxy en php, sur un site d'hébergement qui accepte le php.
Voici le code du fichier xy.php à placer sur le site d'hébergement :
<?php
$adresse = $_GET['adr'];
$session = curl_init($adresse);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
$xml = curl_exec($session);
header("Content-Type : text/xml");
curl_close($session);
$nom_fichier = 'adresse.txt';
$file = fopen($nom_fichier,'w');
fwrite($file,$adresse);
fclose($file);
echo $xml;
?>
Voici la partie Javascript de votre page qui peut donc recevoir le code html d'un Cross Domain en mode texte :
function eswd_charger_fichier(fichier,comment)
{
var requete = null;
if (comment == null) comment = false;
if (window.XMLHttpRequest) {requete = new XMLHttpRequest();}
else if (window.ActiveXObject){requete = new ActiveXObject("Microsoft.XMLHTTP");}
else return;
requete.open('GET', fichier, comment);
requete.send(null);
return requete.responseText;
}
Formulation de la demande :
var le_site = eswd_charger_fichier('xy.php?adr=' + 'http://www.lesite.index.html', false)
Conclusion :
Dans la variable le_site, vous avez tout le code de la page "Cross Domain" en texte, et non en objet. Pour savoir si la proxy fonctionne, il laissera sous la même racine un fichier adresse.txt correspondant à l'url demandée.
Voilà voilà !
10 avril 2009 à 12:15
Un domaine à une adresse unique : ex (http://mon_site/).
J'ai d'autres adresses où je place des données : ex (http://banque_donnees/)
Si j'importe des fichiers de mon domaine primaire pour les incorporer à ma page, il n'y a aucun problème.
Par exemple (http://mon_site/donnees/texte_001.txt) pour (http://mon_site/index.html).
Mais si je fais appel au domaine (http://banque_donnees/texte_002.txt) ... c'est le silence radio.
Tu saisis la nuance de domaine ?
Pour l'instant, je travaille sur le même domaine, mais parfois, je dois appeler un fichier se trouvant dans un autre domaine, et cette opération est refusée.
Si tu as une idée, elle sera la bienvenue.
ErySoft