IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Web Discussion :

Récup code autre page web mais coté client


Sujet :

Conception Web

  1. #1
    Invité
    Invité(e)
    Par défaut Récup code autre page web mais coté client
    Bonjour,

    Pour un projet, je cherche à faire une page web qui permette de récupérer le code d'une autre page web (autre domaine) à partir du navigateur.

    J'ai donc pensé à plusieurs méthodes mais pourtant je bloque :

    -iframe puis récupération code contenu par JS (semble pas possible si iframe affiche page d'un autre domaine)

    -socket en actionscript (semble pas possible de faire un socket sur port 80 > http)

    -socket en java coté client par JVM (je ne sais pas si c'est possible sur le port 80)

    Je ne suis pas complètement sûr des limitations précités,
    aussi, en attendant les websocket html5 canvas, j'ai vu qu'il existe un projet nommé JS.IO ou Comet mais je ne sais pas si celui-ci peut convenir à ce que je cherche à faire.

    Il est nécessaire que cela se fasse coté client.
    Bien que je sache le faire coté serveur (cURL), cela ne convient pas du tout à mon projet.

    Merci d'avance pour vos réponses.

  2. #2
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    Citation Envoyé par stonewarrior Voir le message
    -iframe puis récupération code contenu par JS (semble pas possible si iframe affiche page d'un autre domaine)
    normalement ça devrait fonctionner, tu as essayé avec quel code ?
    GNAP !

  3. #3
    Invité
    Invité(e)
    Par défaut
    J'ai essayé avec ce code qui permet d'ailleur de gérer les différences entre IE et FF:

    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
       <head>
    		   <title>Titre</title>
    		   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		   <style><!--     --></style>
    			<script type="text/javascript">
                            <!--
                            
                                    function getIframeContent(){
     
                                            var IE  = window.ActiveXObject ? true : false;
                                            var MOZ = window.sidebar       ? true : false;
     
                                            var text
                                            
                                            if(IE)  {
                                                    text = window.frames['toto'].document.body.innerHTML;
                                                    return text;
                                            }
     
                                            if(MOZ) {
                                                    text = document.getElementById('toto').contentDocument.body.innerHTML;
                                                    return text;
                                            }
                                    }
                            
                            //-->
                            </script>
       </head>
       <body>
     
    		<iframe name="toto" id="toto" src="http://www.google.fr" width="900" height="500"></iframe>
    		<button onclick="javascript:alert(getIframeContent());">go</button>
     
       </body>
    </html>

    Pourtant ça ne marche pas, ça n'affiche pas le code de la page de l'iframe.
    Si quelqu'un a une solution voir une explication...
    Dernière modification par 12monkeys ; 25/10/2009 à 23h23. Motif: rajout de code=html pour la coloration syntaxique

  4. #4
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    Citation Envoyé par stonewarrior Voir le message
    Pourtant ça ne marche pas, ça n'affiche pas le code de la page de l'iframe.
    Si quelqu'un a une solution voir une explication...
    j'ai trouvé l'explication grâce au plugin Firebug (https://addons.mozilla.org/fr/firefox/addon/1843)
    il y une erreur d'autorisation d'accès

    ça ne fonctionne non plus avec XHR

    une solution serait que tu aies un script PHP sur ton domaine qui s'occupe de lire le contenu de la page et de le retourner au JavaScript
    GNAP !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ok, merci pour la recherche.
    Je crois que je vais devoir attendre les websockets même si il y a des chances qu'ils y mettent encore une satané sécurité anti-crossdomain.
    En tout cas merci Nosferapti

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. MAJ partielle d'une page web sans intervention client
    Par evangeliste dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 06/12/2007, 12h56
  2. Lien vers une autre page Web
    Par taaaz1964 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/09/2007, 14h49
  3. Java Web Start coté client
    Par parano dans le forum JWS
    Réponses: 5
    Dernier message: 02/07/2007, 12h45
  4. Réponses: 3
    Dernier message: 09/05/2007, 10h49
  5. Réponses: 3
    Dernier message: 11/05/2006, 17h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo