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 :

Onclick + Iframe ne fonctionne pas sur firefox


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    personnel
    Inscrit en
    Avril 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : personnel

    Informations forums :
    Inscription : Avril 2014
    Messages : 12
    Par défaut Onclick + Iframe ne fonctionne pas sur firefox
    Bonjour,

    j'espère être au bon endroit...

    Le Onclick fonctionne très bien sous Edge, chrome mais pas sous Firefox !
    Ce lien est dans le 1er IFrame.
    si quelqu'un sait pourquoi et/ou connait la correction/solution ?
    Le javascript est bien activé sous Firefox.
    merci d'avance.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="accueil.html" target="myIFrame" onclick="window.parent.myIFrame2.location.href='news.html'">
              <img class="imgComp" src="ac.png" alt="icone accueil" title="accueil"></a>

    Vous l'aurez compris que je veux actualiser 2 Iframe avec un seul lien.
    Encore merci d'avance.
    JLP.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    A tout hasard:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="accueil.html" target="myIFrame" onclick="window.parent.myIFrame2.location.href='news.html'; self.location.href='accueil.html'">
              <img class="imgComp" src="ac.png" alt="icone accueil" title="accueil"></a>

    mais j'ai peur que le fait de rechareger le parent soit la cause du problème
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Homme Profil pro
    personnel
    Inscrit en
    Avril 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : personnel

    Informations forums :
    Inscription : Avril 2014
    Messages : 12
    Par défaut
    Bonjour,

    Merci SpaceFrog pour la réponse.
    Cependant j'ai testé, mais sans succès…
    Si quelqu'un d'autre a une idée ?
    Merci.
    JLP.

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Salut,

    Tu ne nous donnes pas toutes les infos, c'est quoi ce "myIFrame2" par exemple ?

    En tous cas, j'ai fait un test en donnant un ID à l'iframe et alors je modifie le "src" et cela fonctionne...

    Par contre il ouvre un autre ongle pour charger la page d’accueil... C'est voulu ?

  5. #5
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Bonjour,
    L'erreur vient peut-être du fait de passer par "file".
    Après test, l'instruction du onclick marche :
    - Sous Firefox via "http" et non via "file" (souci de sécurité).
    - Sous Edge, via "http" et via "file", en notant tout de même que, via "file", faire console.log(window.parent.myIFrame2.location.href); provoquerait une erreur de type "cross-origin", alors que l'instruction window.parent.myIFrame2.location.href='news.html' passe...

    Sous Firefox, une variante qui fonctionne par "file" :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="news.html" target="myIFrame2" onclick="window.location.href='accueil.html'">
              <img class="imgComp" src="ac.png" alt="icone accueil" title="accueil"></a>
    Honnêtement, je ne savais même pas qu'on pouvait cibler une iframe du parent dans "target". Le test de cette variante indique que oui...

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Salut,
    Citation Envoyé par Loralina Voir le message
    L'erreur vient peut-être du fait de passer par "file".
    Ah oui merci, c'est vrai, j'ai oublié de dire que mon test a fonctionné en passant par un serveur local...

    Citation Envoyé par Loralina Voir le message
    Sous Firefox, une variante qui fonctionne par "file" :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="news.html" target="myIFrame2" onclick="window.location.href='accueil.html'">
              <img class="imgComp" src="ac.png" alt="icone accueil" title="accueil"></a>
    Honnêtement, je ne savais même pas qu'on pouvait cibler une iframe du parent dans "target". Le test de cette variante indique que oui...
    En faisant window.location.href='accueil.html' on perd les deux iframes, non ?

    Je ne dois pas avoir compris ce qui est voulu, je pensais qu'on voulait charger accueil.html dans iframe1 et news.html dans iframe2 et on ne touche pas à la page qui contient les deux iframes car je pensais que le but c'était de pouvoir visualiser les deux pages (accueil.html et news.html) en même temps dans la page principale...


    PS : ça fait plaisir de vous relire depuis le temps...

  7. #7
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Bonsoir Beginner.,
    Citation Envoyé par Beginner. Voir le message
    je pensais qu'on voulait charger accueil.html dans iframe1 et news.html dans iframe2 et on ne touche pas à la page qui contient les deux iframes
    C'est ce que je pense aussi.

    Citation Envoyé par Beginner. Voir le message
    En faisant window.location.href='accueil.html' on perd les deux iframes, non ?
    Non, puisque jlp13012 indique : "Ce lien est dans le 1er IFrame.".

    Je pense que son affaire se présente comme ça :

    index.html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <iframe name="myIFrame" src="myIFrame.html"></iframe>
    <iframe name="myIFrame2" src="myIFrame2.html"></iframe>
    myIFrame.html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="accueil.html" target="myIFrame" onclick="window.parent.myIFrame2.location.href='news.html'">
              <img class="imgComp" src="ac.png" alt="icone accueil" title="accueil"></a>
    Dans myIFrame2.html, accueil.html et news.html, il suffit de mettre un texte quelconque.

    Concernant target="myIFrame", ça se réfère bien à l'iframe elle-même et non une sous-iframe. En fait, ici, cet attribut est facultatif.

    Si on teste tout ça en passant par "file", ça marche sur Edge, mais sur Firefox, l'instruction du onclick est bloquée.

    Si on tient à ce que ça passe aussi sur Firefox en mode "file", on peut remplacer le code de myIFrame.html par la variante que j'ai indiquée.
    Cette variante a ses limites car elle ne conviendrait pas si on devait changer l'adresse de 3 iframes.

    Sinon, il faut passer par "http".

    Citation Envoyé par Beginner. Voir le message
    PS : ça fait plaisir de vous relire depuis le temps...
    Merci.

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

Discussions similaires

  1. [DOM] Mon script JS ne fonctionne pas sur FIREFOX
    Par lololo60 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/06/2009, 11h26
  2. css ne fonctionne pas sur firefox, mais sont ok sur IE
    Par phfle1 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 31/10/2008, 17h43
  3. Évènement onclick qui ne fonctionne pas avec FireFox
    Par kilian67 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 19/09/2008, 11h34
  4. [HTML] iframe ne fonctionne pas sous firefox
    Par freija dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 29/08/2006, 12h20
  5. Evenement OnClick qui ne fonctionne pas sous firefox
    Par frechy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/12/2005, 16h06

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