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 :

document.getElementById()


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut document.getElementById()
    Bonjour,
    J'ai un petit problème avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javascript:document.getElementById('qqch').style.backgroundColor='#ff0000';
    ce script me renvoie sur une page blanche avec marqué "#ff0000"
    J'aimerais savoir si on pouvait modifier le script, de façon à ce qu'il change la couleur du fond, sans renvoyer sur une page blanche...
    Sachant que je rentre ce script dans la barre d'adresse !
    Merci de votre attention et à bientôt !

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par benjamindu58futur11 Voir le message
    Sachant que je rentre ce script dans la barre d'adresse !
    Pourquoi tu fais ça ?

    Dans une console (Firebug ou autre) je veux bien, mais ...la barre d'adresses ?
    S'il existe un navigateur qui accepte du code JS dans la barre d'adresses, l'interprete et l'execute dans le contexte de la page.... c'est un scoop pour moi !

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    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 : 53
    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
    Si Romain, les navigateurs reconnaissent le pseudo-protocole javascript: et sont donc capables d'exécuter du code JavaScript depuis la barre d'adresse, reste bien sûr que l'intérêt est à démontrer et benjamindu58futur11 ne donne pas assez d'éléments pour répondre à sa question...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Réponse aux messages
    Le script s'exécute bien, on voit la couleur de fond virer au rouge d'un seul coup pendant une fraction de seconde, puis ça m'affiche une page blanche avec :
    #ff0000

    C'est tout. Si je rajoute history.back(); à la fin, je peux voir la couleur un peu plus longtemps, avant de retourner à la page de départ...

  5. #5
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Si Romain, les navigateurs reconnaissent le pseudo-protocole javascript: et sont donc capables d'exécuter du code JavaScript depuis la barre d'adresse ...
    >>>
    Citation Envoyé par RomainVALERI Voir le message
    .... c'est un scoop pour moi !

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  6. #6
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Après quelques tests, j'avoue que c'est... pour le moins chelou

    >>> il semble que la valeur renvoyée par le code inséré soit envoyée au moteur de rendu telle quelle pour affichage...

    Exemple : en tapant
    Code javascript dans la barre d'adresses : Sélectionner tout - Visualiser dans une fenêtre à part
    javascript:window.location.href
    Il affiche en pleine page l'URL de la page courante (qui était la valeur de la propriété href)

    C'est la raison pour laquelle il affiche "#ff0000" dans ton exemple, parce qu'une assignation renvoie toujours la valeur assignée.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var a = 5, b = 4;
    var b = (a = 2);
    // à ce stade, a et b valent 2
    >>> Autre chose : ça a beau être empirique, j'ai trouvé un truc ^^ benjamin, essaie d'ajouter en bout de chaine :
    Code javascript dans la barre d'adresses : Sélectionner tout - Visualiser dans une fenêtre à part
    javascript:document.getElementById('qqch').style.backgroundColor='#ff0000';alert("test")
    (on dirait en fait qu'il renvoie la valeur de la dernière instruction exécutée... ^^)

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Points : 496
    Points
    496
    Par défaut
    Tu fous undefined à la fin et ça règle le problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javascript:document.getElementById('qqch').style.backgroundColor='#ff0000';undefined

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 89
    Points : 102
    Points
    102
    Par défaut
    Et pour faire plus propre, tu utilises la fonction javascript void() qui sert à ne rien renvoyer.

    Pour l'utilisation, dans mon cas personnel, ca m'avait pas mal servi du temps d'IE 6 et antérieur, qui n'avait pas de "vraie" console (seulement des plugins plus ou moins bancals).

Discussions similaires

  1. Pb avec document.getElementById
    Par greg49 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/03/2006, 09h21
  2. javascript, iframe, document.getElementById
    Par zevince dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/03/2006, 17h00
  3. [Mozilla] document.getElementById(var) has no properties
    Par dys_ dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 14/11/2005, 15h33
  4. document.getElementById() has no properties ..
    Par ahage4x4 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/06/2005, 17h04
  5. This.value au lieu de document.getElementById('field').value
    Par yoyot dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/03/2005, 14h02

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