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

JavaScript Discussion :

Ouverture d'une page dynamique


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut Ouverture d'une page dynamique
    Bonjour à tous,

    J'ai parcouru la FAQ, mais avec son aide et mon niveau relativement réduit en javascript, je n'ai pas trouvé de solution, ainsi je m'en réfère à vous.

    J'ai un site web comprenant un bouton censé faire appel à une servlet. L'appel se fait correctement, et ma servlet me renvoie un contenu (un xml, mais que je veux considérer comme une page web pour l'afficher).

    Je fais comme ça :

    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
     
    xmlhttp.onreadystatechange  = handleServerResponse;
    xmlhttp.open("GET", args.url, true);
    xmlhttp.send(null);
     
    et
     
    function handleServerResponse() {
       if (xmlhttp.readyState == 4) {
         if(xmlhttp.status == 200) {
             alert(xmlhttp.responseText);
     
           //window.location=xmlhttp.responseText; 
         }
         else {
            alert("Error");
         }
       }
    J'ai une réponse correct, et dans responseText j'ai bien le texte attendu. Maintenant, j'aimerai ouvrir un pop up pour visualiser ces infos, qui sont propres à chaque requête.

    Malheureusement quand j'essaie d'utiliser window.location, ça colle en fait mon texte derrière mon url, et j'ai du coup une mauvaise adresse. L'idée n'est pas de m'en tenir à un alert, mais bien d'ouvrir une page qui contiendra le résultat de la requête.

    J'imagine que je dois pouvoir mettre mon texte dans un objet "url" ou quelque chose dans ce genre, puis demander son affichage, mais je ne trouve pas, quelqu'un saurait m'aider ?

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2008
    Messages : 73
    Par défaut
    L'utilisation correcte de window.location pour basculer sur une page consiste à charger une URL, pas un contenu "maison". Et ça marche ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.location.href = "http://mon_url"
    Ce qu'il te faut, c'est ouvrir (avec cette méthode, ou plutôt, dans ton cas, un bon vieux window.open()) l'URL d'une page où tu pourras injecter le contenu que tu as préalablement récupéré.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut
    J'ai songé à ça, mais ce que je ne vois pas c'est comment transformer mon contenu, enfin l'écrire dans un fichier pour après taper sur l'url.

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2008
    Messages : 73
    Par défaut
    Non, il s'agirait plutôt de :
    - conserver dans une variable le résultat de ta requête AJAX (le "contenu") ;
    - ouvrir l'URL d'une page que tu as préalablement créée à cet effet (vraisemblablement une page HTML vierge) ;
    - dans ce document ainsi ouvert, injecter (avec les fonctions DOM, par exemple) le résultat de ta requête AJAX.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut
    Je vois le genre, même si je ne sais pas comment faire l'injection. Cependant, si je dois mettre à jour cette page, que se passera-t-il en cas d'accès concurrent ? Car j'imagine que je vais déposer ma page vierge sur mon serveur, mais si deux personnes font une requête en même temps, ça va être problématique non ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut
    J'ai "presque" résolu mon problème. Si je fais en javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.location=args.url;
    directement sur l'url de la servlet, et que cette dernière me renvoie le jnlp, j'ai bien une demande de lancement du jnlp. En l'acceptant, le jnlp se lance correctement sur firefox et IE9.

    Cependant, sur IE8, j'ai un bandeau d'alerte qui s'affiche en haut du browser, pour dire :

    "Pour protéger votre sécurité, internet explorer à bloqué le téléchargement de fichiers de ce site vers votre ordinateur"

    Si je met de le télécharger, la page se recharge mais le téléchargement ne s'effectue pas. Je suis obligé de cliquer une seconde fois (cette fois je n'ai pas le bandeau d'alerte) et là le jnlp est correctement téléchargé. Comment puis-je fais pour avoir le téléchargement dès le premier coup ?

Discussions similaires

  1. ouverture d'une page direct en popup
    Par jarod71 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 16/01/2006, 15h20
  2. ouverture d'une page a partir d'une BD
    Par bourvil dans le forum ASP
    Réponses: 2
    Dernier message: 20/10/2005, 17h28
  3. Ouverture d'une page dans page nouvelle/en cours
    Par francis m dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/05/2005, 00h29
  4. Pb pour cacher des contrôles à l'ouverture d'une page
    Par Anne1969 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/01/2005, 15h16
  5. Ouverture d'une page
    Par wasch dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/11/2003, 08h36

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