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 :

changement de "location" dans frame


Sujet :

JavaScript

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut changement de "location" dans frame
    Bonjour,

    J'ai un souci avec le changement de location dans un frame..

    Voici le bout de code incriminé, une fonction appelée pour rafraîchir le frame photosMini de mon IHM :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    //Fonction de traitement de l habillage personnalisation technique
    function traitement_habillage1(mid)
    {
        // gestion des photos
        try
        {
            imageDessin();
            var urlphotosMini;
            
            if (mid != null && mid != "") {
            
                if(cas_click_svg_firefox)
                    urlphotosMini = "../RSPhotos.php?refcomm="+mid;    //[1]
                else
                    urlphotosMini = "./RSPhotos.php?refcomm="+mid;     //[2]
                    
            } else {
                        
                if(cas_click_svg_firefox)
                    urlphotosMini = "../RSPhotos.php?refcomm=xyz";      //[3]
                else  
                    urlphotosMini = "./RSPhotos.php?refcomm=xyz";       //[4]    
            }
            photosMini.location = urlphotosMini;
        }
        catch (e){/*alert("error : "+e.name+" - "+e.reason);*/}
    
        ...... autres traitements .....
    }
    La fonction peut être appelée par deux types d'évènements : la navigation normale par l'arbre de navigation et un clic sur un graphe interactif (SVG) qui fait changer le contexte sous Firefox, d'où la condition sur le flag cas_click_svg_firefox..

    Les cas 1,2 et 4 marchent très bien, mais pas le 3. Je n'ai pas d'erreur générée en console, seulement l'alert du try/catch qui me sort : "error : null - undefined" et la rafraîchissement qui ne s'effectue pas...

    Je ne sais pas si l'erreur provient de Javascript ou de PHP...

    J'ai essayé de remplacer le nom du cadre par son élément dans le tableau des cadres, utiliser la fonction replace(), appeler location à partir du document du cadre.... tout ça sans succès !

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    le [3] ne semble pas plus problématique que les autres (sous réserve que la page se trouve bien dans ce répertoire).
    Par contre, la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    photosMini.location = urlphotosMini;
    n'est pas terrible.
    ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parent.frames['photosMini'].location.href = urlphotosMini;
    A+

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    vérifis "cas_click_svg_firefox" avant l'appel de ta méthode pour voir dabord si elle est instancié car a ce que je vois c'est une variable globale ...
    et sa valeur

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    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
    19
    20
    21
    22
        try
        {
            imageDessin();
            var urlphotosMini;
     
            if (mid != null && mid != "") {
     
                if(cas_click_svg_firefox)
                    urlphotosMini = "../RSPhotos.php?refcomm="+mid;
                else
                    urlphotosMini = "./RSPhotos.php?refcomm="+mid;
     
            } else {
     
                if(cas_click_svg_firefox)
                    urlphotosMini = "../RSPhotos.php?refcomm=xyz";
                else
                    urlphotosMini = "./RSPhotos.php?refcomm=xyz";                
            }
            parent.frames['photosMini'].location.href = urlphotosMini;
        }
        catch (e){alert("error : flag="+cas_click_svg_firefox+" - "+e.name+" - "+e.reason);}
    Pas mieux avec cette syntaxe et le flag est toujours à true, comme il devrait être dans le cas où l'exception est lancée...
    Quand au php, je vois mal le pb venir de là, la page existe et je conditionne le traitement en fonction du paramètre envoyé... et surtout les cas 1, 2 et 4 marchent...

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par ziggotos Voir le message
    Pas mieux avec cette syntaxe
    Si, quand même

    La page RSPhotos.php est bien présente et renvoie un résultat correct (pour le paramètre "xyz") dans le répertoire parent de celle contenant la frame ?

    A+

  6. #6
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Si, quand même

    La page RSPhotos.php est bien présente et renvoie un résultat correct (pour le paramètre "xyz") dans le répertoire parent de celle contenant la frame ?

    A+
    Oui sûrement mieux quand tout va bien
    Sinon côté PHP, je teste le passage dans le bloc "xyz" en faisant un echo qui est visible dans le frame photosMini...

    En fait, lorsque je passe par ce code en ayant cliqué sur un graphique SVG (et non par l'arbre de navigation général), Firefox (avec gestion du SVG en natif) prend le dossier où se trouve le graphique comme dossier contextuel (ou courant).. ==> ./graph/ au lieu de ./

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par ziggotos Voir le message
    En fait, lorsque je passe par ce code en ayant cliqué sur un graphique SVG (et non par l'arbre de navigation général), Firefox (avec gestion du SVG en natif) prend le dossier où se trouve le graphique comme dossier contextuel (ou courant).. ==> ./graph/ au lieu de ./
    Vu ! Effectivement ...
    Alors je sèche

    A+

  9. #9
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Pour être sûr :
    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
    19
    20
    21
    22
    23
    24
        try
        {
            imageDessin();
            var urlphotosMini;
            
            if (mid != null && mid != "") {
            
                if(cas_click_svg_firefox) {
                    alert("..");
                    urlphotosMini = "../RSPhotos.php?refcomm="+mid;    //[1]
                }    
                else
                    urlphotosMini = "./RSPhotos.php?refcomm="+mid;    //[2]
                    
            } else {
                        
                if(cas_click_svg_firefox)
                    urlphotosMini = "../RSPhotos.php?refcomm=xyz";    //[3]
                else
                    urlphotosMini = "./RSPhotos.php?refcomm=xyz";     //[4]   
            }
            window.frames['photosMini'].location.replace(urlphotosMini);
        }
        catch (e){alert("error : flag="+cas_click_svg_firefox+" - "+e.name+" - "+e.reason);}
    Comme ça je suis sûr que le cas 1 marche parce que l'alert("..") passe...
    Pas mieux, pardon, marche pas avec la syntaxe window.frames[x].location.replace(url) pour le cas 3 bien sûr !

  10. #10
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Merci pour vos réponses en tout cas. Si jamais je trouve une solution, je la poste !

    A+

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

Discussions similaires

  1. [vbnet 1.1]Inserer deux simple quote sans texte dans une db
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/03/2007, 08h51

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