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 :

Comment isoler une partie de son code


Sujet :

JavaScript

  1. #1
    Membre confirm� Avatar de raydenprod
    Homme Profil pro
    Frontend Developer
    Inscrit en
    F�vrier 2013
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activit� : Frontend Developer

    Informations forums :
    Inscription : F�vrier 2013
    Messages : 38
    Par d�faut Comment isoler une partie de son code
    Bonjour,

    Ma question est relativement simple :
    J'aimerai savoir si il est possible (si oui, quelle est la meilleure fa�on de faire) dans une page html d'isoler une partie du code (par exemple un div) et dire que dans ce div, tous les js du site ne sont pas pris en compte.
    exemple :

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    <head>
     
    </head>
    <body>
    <div id="a"></div>
    <div id="b"></div>
     
    <script src="jquery"></script>
    <script src="monscript"></script>
    </body>
    </html>
    dans cette page html je souhaite que le JS soit pris en compte dans le div a mais pas dans le div b.

    Quelle est la meilleure fa�on de faire ? une closure ?

    Merci d'avance,

    Cordialement

  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
    Non cela est impossible avec cette m�thode ...
    un js est global � la page ...

    ensuite il s'agit juste d'utiliser les bons s�lecteurs pour cibler les bons �l�ments
    Tout d�pend de ce que font tes scripts ...

    Mais manifestement tu ne peux pas limiter un script � une zone de la page autrement qu'en pointant dans le script sur des �l�ments en particulier et leurs �v�nements
    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
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Ou alors utiliser une iframe. Mais pas s�r que ce soit ce que tu veuilles. Comme l'a dit SpaceFrog ce serait plut�t le script qui est � revoir.

  4. #4
    Membre confirm� Avatar de raydenprod
    Homme Profil pro
    Frontend Developer
    Inscrit en
    F�vrier 2013
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activit� : Frontend Developer

    Informations forums :
    Inscription : F�vrier 2013
    Messages : 38
    Par d�faut
    Merci pour vos r�ponses.

    Je vais essayer avec des appels des parties de pages concern�es en ajax.

  5. #5
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Je pense que mettre le js dans le body est une mauvaise pratique

    pour moi tous les js devrait �tre dans les headers

    et donc la question ne se pose plus.

    A+JYT

  6. #6
    Membre �m�rite Avatar de slim
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2002
    Messages
    938
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 938
    Par d�faut
    Citation Envoy� par sekaijin Voir le message
    Je pense que mettre le js dans le body est une mauvaise pratique
    pour moi tous les js devrait �tre dans les headers
    Je dirais Oui et Non...
    Tout d�pend du poids des fichiers et du temps de chargement.
    Mettre des fichiers JS "non vitaux" et assez lourds dans le head est une mauvaise pratique.

    Le mieux est de privil�gier (dans <head>) les fichiers "vitaux" et d�clarer les autres dans le body ou mieux, utiliser une librairie de lazyLoading.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  7. #7
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Citation Envoy� par slim Voir le message
    Je dirais Oui et Non...
    Tout d�pend du poids des fichiers et du temps de chargement.
    Mettre des fichiers JS "non vitaux" et assez lourds dans le head est une mauvaise pratique.

    Le mieux est de privil�gier (dans <head>) les fichiers "vitaux" et d�clarer les autres dans le body ou mieux, utiliser une librairie de lazyLoading.
    Que tu mette un fichier lourd dans le header ou dans la page ne change rien. donc je pense qu'il vaut mieux le mettre dans le header.
    Si tu peux t'en passer alors tu ne le mets pas. (et tu le charge � la vol�e en cas de besoin.)

    Dans les deux cas tu ne le mets pas dans le body et dans les deux cas au chargement de ta page tous les js sont dans le header.

    Je pense donc que le mettre dans le body n'est pas une bon pratique.

    A+JYT

  8. #8
    Membre �m�rite Avatar de slim
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2002
    Messages
    938
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 938
    Par d�faut
    Citation Envoy� par sekaijin Voir le message
    Que tu mette un fichier lourd dans le header ou dans la page ne change rien.
    Citation Envoy� par w3schools
    It is a good idea to place scripts at the bottom of the <body> element.
    This can improve page load, because HTML display is not blocked by scripts loading.
    http://www.w3schools.com/js/js_whereto.asp
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  9. #9
    Expert confirm�

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par d�faut
    Citation Envoy� par sekaijin Voir le message
    Je pense donc que le mettre dans le body n'est pas une bon pratique.
    A+JYT
    En th�orie le js a mieux sa place dans le header. Mais ce n'est pas ce que google encourage � faire pour optimiser la vitesse de t�l�chargement des pages sur les mobiles...

  10. #10
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    je maintiens

    Si tu mets ton script en pied de body ton document reste ouvert
    alors que si tu mets un script dans le header qui contient sur le onLoad ou tout autre �v�nement un chargement dynamique.
    ton document est clos d�s la fin de son chargement.

    Pour m�moire le moteur HTML clos le document lors que la balise </html> est interpr�t�e.
    tant que cela n'est pas fait tout �l�ment pr�sent : tag html ou script est susceptible de modifier le document d'origine.
    lorsque le document est clos le moteur peux rel�cher toutes ces contraintes et assurer une manipulation optimal du DOM.
    � partir de l� le document d'origine et fig� seul le DOM peut �voluer. il n'est plus n�cessaire pour le moteur de maintenir la coh�rence des deux.
    bien sur un simple document.write et le document doit �tre r�ouvert (ce qui est extr�mement couteux)
    mais l� encore document.vrite est pour moi interdit.

    c'est pour ces raison l� que Google pr�conise de mettre SON code de PUB en fin de body.
    ainsi il se charge apr�s les infos de la page et peut utiliser le document.write pour modifier le document avant sa fermeture.

    A+JYT

  11. #11
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Un script dans le <head> peut aussi contenir une instruction comme document.write, donc tant que le script n'a pas �t� charg� et ex�cut�, le parser HTML (ou le moteur de rendu selon les navigateurs) est bloqu�. Pour que l'utilisateur visualise le plus rapidement possible le contenu HTML de la page, il faut donc �viter de mettre des scripts trop lourds dans le <head>. C'est pour �a que Google recommande de les mettre en fin de <body>, car les navigateurs modernes n'attendent plus que le document soit ferm� pour commencer � dessiner le contenu.

    Le fait de les placer dans le <body> est une recommandation assez ancienne (~10 ans). Aujourd'hui on a trouv� mieux: les attributs async et defer sur les balises script. La recommandation actuelle est donc de mettre ses scripts dans le <head>, avec l'attribut async si l'ordre d'ex�cution n'importe pas, et defer si l'ordre d'ex�cution doit respecter l'ordre de d�claration (pour les biblioth�ques par exemple)

    Il va falloir que je mettre � jour la FAQ � ce sujet: http://javascript.developpez.com/faq...positionScript

  12. #12
    Membre tr�s actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par d�faut
    et les scripts comme par exemple jQuery qui sont mis en src dans le head il sont lu, execut� a quelle moment ?

  13. #13
    Expert confirm�

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par d�faut
    Les scripts sont lus dans l'ordre o� tu les mets dans ton code, except� s'ils poss�dent les attributs defer ou async �voqu�s plus haut.

    Sinon pour jquery tu pourrais mettre aussi son chargement en bas du body pour peu que les scripts qui l'utilise se situent en dessous.

Discussions similaires

  1. R�ponses: 5
    Dernier message: 26/04/2010, 18h14
  2. R�ponses: 2
    Dernier message: 28/04/2009, 10h43
  3. R�ponses: 3
    Dernier message: 31/10/2006, 12h20
  4. Comment lire une partie du son *.wav
    Par ryosaebafr2000 dans le forum MFC
    R�ponses: 5
    Dernier message: 08/06/2005, 16h00
  5. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    R�ponses: 4
    Dernier message: 20/11/2003, 14h38

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