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 :

Supprimer le JavaScript inline


Sujet :

JavaScript

Vue hybride

boteha Supprimer le JavaScript inline 07/06/2020, 13h00
Doksuri il faut que tu passes des ids... 07/06/2020, 13h21
boteha Bonjour Doksuri, Merci de... 07/06/2020, 14h15
boteha Bonjour, J'espère que ce... 13/06/2020, 20h34
javatwister Bonjour, Oui, on a compris... 14/06/2020, 09h01
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    718
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 718
    Par défaut Supprimer le JavaScript inline
    Bonjour,

    Le scan de Mozilla recommande de renseigner le header Content Security Policy

    Selon les paramètres les plus sécurisés les javascript inline ne peuvent plus être activés.

    Pourquoi ne pas essayer de se conformer à ce que demande Mozilla.

    Mon problème est que mon code HTML est constellé de petites phrase magiques générées de façon dynamique pour par exemple pouvoir ouvrir des images en pop-up :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <img src="im/pr/2071G.jpg" width="110" height="94" onclick="window.open('popup.php?nom=2071G.jpg','','scrollbars=yes,resizable=yes,width=420,height=445');" alt="" />
     
    <img src="im/pr/585G.jpg" width="110" height="85" onclick="window.open('popup.php?nom=585G.jpg','','scrollbars=yes,resizable=yes,width=420,height=414');" alt="" />

    Autre petite phrase, non dynamique celle-la :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="txlibre" value="(texte libre)" onfocus="if (this.value=='(texte libre)') this.value='';"   />

    Je ne vois pas du tout me débarrasser de ces scripts inline tout en gardant mes pop-up et remplacements de texte actifs.

    Merci de votre aide.

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 493
    Par défaut
    il faut que tu passes des ids (uniques) a tes elements pour pouvoir les retrouver en JS
    et que tu utilises les eventListener developer.mozilla.org/fr/docs/Web/API/EventTarget/addEventListener
    par exemple :
    <img id="img1" src="im/pr/2071G.jpg" width="110" height="94" alt="" />
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    document.getElementById('img1').addEventListerner('click', () => {
        window.open('popup.php?nom=2071G.jpg','','scrollbars=yes,resizable=yes,width=420,height=445');
    });
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    718
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 718
    Par défaut
    Bonjour Doksuri,

    Merci de ta réponse.

    Toutefois ce code est dynamique, il me semble impossible ou trop lourd de créer à la volée un fichier javascript à charger.

    Par contre je peux écrire à la volée ce code dans le HEAD de la page html dans une balise <script type="javascript">.

    Mozilla considère-t-il encore ce code comme un script inline ?
    Je vais essayer dès que j'ai le temps

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    718
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 718
    Par défaut
    Bonjour,

    J'espère que ce codepen illustre mon problème.

    Je peux avoir 200 images sur une page, chacune pouvant s'ouvrir dans un pop-up dont la hauteur est déterminée par la hauteur de l'image.

    Actuellement j'ai donc 200 phrases magiques du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="window.open('popup.php?nom=1261G.jpg','','scrollbars=yes,resizable=yes,width=420,height=427');"
    Pour sortir ces phrases du code html, mon idée est générer un id dont les 3 derniers chiffres sont la hauteur du pop-up.

    Mon idée est d'avoir une petite fonction javascript qui cible simplement toutes les images dans div.list (div.list img serait le sélecteur en css)

    Ensuite récupère l'id, en extrait les 3 derniers caractères qui deviennent la hauteur du pop-up.

    J'ose croire que c'est possible et même assez facile mais cela dépasse mon niveau en javascript.

    Merci de votre aide.

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Citation Envoyé par boteha Voir le message
    Je peux avoir 200 images sur une page, chacune pouvant s'ouvrir dans un pop-up dont la hauteur est déterminée par la hauteur de l'image.
    Bonjour,

    Oui, on a compris que tu voulais une galerie d'images...
    Mais si l'image du popup a la même hauteur que l'image sur laquelle tu cliques, ça n'a pas d'intérêt.
    Sur la page de base, tu as des miniatures et en cliquant dessus, tu vois l'image en taille réelle dans un popup. C'est ça?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    718
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 718
    Par défaut
    Bonjour javatwister,

    C'est ça.

    D'une vignette tu ouvres dans un pop-up à la taille réelle de l'image, largeur fixe de 400 px et hauteur variable mais renseigné par le script PHP en amont.

    Ensuite il suffit de cliquer sur le logo Agrandir du pop-up pour passe ton image en plein écran.

    Tout cela marche très bien et mon problème est d'avoir la fonction javascript dans un script externe et non inline.

    Le codepen présente bien le problème, j'espère.

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

Discussions similaires

  1. Supprimer en javascript
    Par hala92 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 17/01/2017, 11h03
  2. [+] supprimé par javascript
    Par jnore dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/09/2008, 09h55
  3. [PHP-JS] Supprimer le code javascript d'un code HTML
    Par AlphaYoDa dans le forum Langage
    Réponses: 6
    Dernier message: 21/02/2006, 22h40
  4. javascript pour supprimer
    Par ridondo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/12/2005, 17h10

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