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

jQuery Discussion :

jQuery 1.9.1 est disponible


Sujet :

jQuery

  1. #1
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut jQuery 1.9.1 est disponible
    jQuery 1.9.1 est disponible
    Correction de bogues

    N'oubliez pas de lire le guide de mise à niveau et d'utiliser le plugin jQuery Migrate pendant la phase d'adaptation de vos anciens codes. Le plugin vous signalera tous les problèmes dans la console de votre navigateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/jquery-migrate-1.1.0.js"></script
    Les nouveaux fichiers ont été envoyés aux serveurs de code de Google et de Microsoft, ils devraient être disponibles.

    Liste des modifications

    Source

    Référence

    Avalanche de nouveautés jQuery

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    Bonjour

    Merci beaucoup Daniel pour le lien vers JQuery Migrate, ça va m'être fort utile
    Stop hitting yourself! We created this plugin to make things easy on you



    Pourrais je poser une question dans ce post ? et si je suis HS, j'imagine que tu n'hésiteras pas à me virer.

    je ne suis pas sur de bien comprendre ce qu'il est signifié sous ce chapitre :
    http://jquery.com/upgrade-guide/1.9/...e-html-content

    Loading and running scripts inside HTML content

    Prior to 1.9, any HTML-accepting method (e.g., $(), .append(), or .wrap()) executed any scripts in the HTML and removed them from the document to prevent them from being executed again. This still broke in situations where a script might be removed and reinserted into the document using methods such as .wrap(). As of 1.9, scripts inserted into a document are executed, but left in the document and tagged as already executed so they won't be executed again even if they are removed and reinserted.

    Despite this change, it is very poor practice to mix executable JavaScript into HTML markup; it has design, security, reliability, and performance implications. For example, external script tags included in HTML are fetched synchronously and then evaluated, which can take a significant amount of time. There is no interface to notify when or whether those scripts load, or to take corrective actions when there is an error.

    Code that attempts to load a script by cloning an existing script tag and injecting that clone into the document will no longer work, because the cloned script tag has already been marked as executed. To load a new script, use jQuery.getScript() instead.
    Quelqu'un saurait il en dire plus sur la partie en gras ?
    Doit on comprendre que l'on charge de nouveaux scripts ou instructions javascript dans le contenu HTML d'une page déja formée, c'est plutôt une très mauvaise pratique ?

    Est ce que cela concerne des méthodes type load() que j'utilise pour certaines parties de mes apps ? et qui chargent à la fois du html et du javascript qui s'exécute sans que je ne me sois jusqu'alors posé la question.
    Cela dit cela pourrait peut-être expliquer certains soucis de toggle() que je rencontre.
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Vous devez retenir qu'il ne faut jamais mélanger vos scripts et votre HTML.

    Qu'un script doit se trouver dans un fichier ".js" et qu'il se charge uniquement avec $.getScript() et jamais avec load().

    Sur le forum, dans la FAQ et dans la plupart des tutoriels on trouve un seul fichier contenant HTML, CSS et JS par paresse et par facilité.

    En production, comme le CSS, les scripts doivent toujours être dans des fichiers séparés et compressés (minified, abbréviation min).

    Pour la compression (n'oubliez pas de garder une copie non compressée pour le développement), j'utilise régulièrement : http://closure-compiler.appspot.com/home (option "simple" pour jQuery).

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    Salut
    merci
    je me doutais un peu que c'est ce qu'il faut en comprendre

    du coup je relisais la FAQ jquery
    http://javascript.developpez.com/faq...oduction#Where
    et (désolé si je suis lourd... hum ) ton exemple est bien un bon exemple de ce qu'il faut faire ?
    Il n'y a pas d'importance majeure à cantonner les inclusions de scripts à la partie head d'un fichier HTML, ce qui m'arrangerait bien ?
    Et cela va au delà du simple aspect ""maintenance du code" à lire les implications de l'upgrade guide

    précision, je ne charge pas de script à proprement parler, je charge avec load() des htmls formés incluant des instructions de script.

    Je vais changer mon approche, j'ai pu lire par ailleurs qu'à partir de jquery 2.0 cette façon de faire ne devrait plus fonctionner.
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    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 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Faites attention avec jquery-migrate.

    Je viens de passer deux heures en me demandant pourquoi la console me renvoyait l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NS_ERROR_XPC_BAD_CONVERT_JS: Could not convert JavaScript argument arg 0 [nsIDOMWindow.getComputedStyle]
    jquery-1.9.1.js (ligne 6898)
    En cherchant un peu ce serait peut-être un bug spécifique sous Firefox, mais si j'utilise une lib c'est aussi pour ne pas avoir à me préoccuper de la compatibilité du code entre les différents navigateurs... Et là je ne savais même pas comment chercher dans mon code l'origine de ce pb, ni même s'il était judicieux de le faire.
    Jusqu'à ce que je supprime la ligne qui inclue jquery-migrate et là par miracle tout est rentré dans l'ordre. J'ai mis deux heures avant d'avoir l'idée de supprimer jquery-migrate, évidemment puisque c'était sensé m'aider


    Bon pour le reste ma migration vers 1.9.1 (depuis v1.8.2) se passe bien.

    Evidemment n'oubliez pas d'utiliser conjointement la dernière version de jquery ui : la version 1.10.2 (sinon jquery 1.9 n'est pas compatible avec ui 1.9).

  6. #6
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Le plugin Migrate n'est pas exempt de bogues, la dernière version disponible : <script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script>.

    Source

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    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 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Merci, mais la nouvelle version ne corrige pas le problème...

    J'espère que je n'aurai pas de pb en ayant supprimé "jquery-migrate". J'ai vérifié la doc jquery et mes fonctionnalités dans "chrome" et "firefox" sont ok mais je n'ai pas les moyens de tester avec tous les navigateurs et j'ai plus de 100ko de code (une fois compressé) sans compter les lib externes...

    Pour l'instant j'ai juste dû changer quelques ".attr" pour des".prop". et modifier un peu la lib "flot" qui utilisait "$.browser". Je croise les doigts pour que ça s'arrête là

Discussions similaires

  1. jQuery 1.6 RC1 est disponible pour tests
    Par danielhagnoul dans le forum jQuery
    Réponses: 3
    Dernier message: 02/05/2011, 09h10
  2. jQuery 1.5.2 est disponible
    Par danielhagnoul dans le forum jQuery
    Réponses: 3
    Dernier message: 01/04/2011, 22h24
  3. jQuery 1.4.4 est disponible
    Par danielhagnoul dans le forum jQuery
    Réponses: 8
    Dernier message: 12/11/2010, 10h05
  4. jQuery UI 1.8rc3 est disponible
    Par danielhagnoul dans le forum jQuery
    Réponses: 4
    Dernier message: 19/03/2010, 17h53
  5. jQuery 1.4.2 est disponible
    Par danielhagnoul dans le forum jQuery
    Réponses: 9
    Dernier message: 27/02/2010, 21h32

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