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 :

Modifier le CSS d'un iframe


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 41
    Points
    41
    Par défaut Modifier le CSS d'un iframe
    Bonjour à tous,

    Je souhaite modifier le CSS d'un iframe qui apparaît ainsi :
    http://thibaud.hulin.free.fr/dokuwik...hp?id=fr:start
    Comme l'affichage de la h1 utilise de gros caractères pour ce cadre, j'ai besoin de réduire le fontSize.

    J'ai utilisé l'exemple avec succès dans cette page :
    http://xkr.us/articles/dom/iframe-document/ en utilisant le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var oIframe = document.getElementById("myframe");
    var oDoc = oIframe.contentWindow || oIframe.contentDocument;
    if (oDoc.document) {
        oDoc = oDoc.document;
    }
     
    oDoc.body.getElementsByTagName('h1')[0].style
    J'ai ensuite remplacé "myframe" par "iframe1" (requis dans mon exemple) ; or j'obtiens l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     TypeError: oIframe is null
    En outre, un getElementsByTagName devrait m'être plus utile que le getElementById, car je peux avoir plusieurs frames. J'ai donc modifié le code ainsi (testé dans firebug) :
    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
     
    function changeFrame(oIframe) {
        var oDoc = oIframe.contentWindow || oIframe.contentDocument;
        if (oDoc.document) {
            oDoc = oDoc.document;
        }
        oDoc.body.h1.style.fontSize = "20px";
        return true;
    }
     
     
    var ifr=document.getElementsByTagName("iframe");
     
    for (i=0;i<ifr.length;i++)
    {
    	changeFrame(ifr[i]);
    }
    Or j'obtiens un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error: Permission denied to access property 'document'
    ???

    Merci de l'aide,
    Thibaud.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Pour commencer, si l'iframe est sur un autre domaine que le tiens, n'y compte même pas, c'est tout simplement pas possible.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Ça c'est intéressant : justement, l'iframe est sur le même nom de domaine. En revanche, cela veut dire que je ne peux pas faire le test en local, alors que ça fonctionne avec firebug...

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 564
    Points : 21 629
    Points
    21 629
    Par défaut
    Citation Envoyé par thibaud74 Voir le message
    En revanche, cela veut dire que je ne peux pas faire le test en local, alors que ça fonctionne avec firebug...
    Il s'agit d'une mesure de sécurité pour ceux qui vont sur le site sans se poser de question. L'idée est de ne pas laisser un site voler les informations et accès que te donnent un autre site.

    Dans le cas de Firebug, il est sous ton contrôle, il ne va pas s'empêcher lui-même l'accès aux données sous prétexte qu'il risquerait de te les voler.

Discussions similaires

  1. Comment puis-je modifier un css après un iframe
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/01/2011, 02h36
  2. modifier le css dans une balise iframe
    Par psycoma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/08/2009, 14h28
  3. Modifier le CSS du ftp free
    Par prologic dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 25/11/2006, 17h23
  4. Modifier la source d'un Iframe à partir d'une autre fenêtre
    Par Dan_Rich dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/10/2005, 08h11

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