Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 06/02/2013, 09h57   #1
danielhagnoul
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 849
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 62
Localisation : Belgique

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

Informations forums :
Inscription : février 2009
Messages : 3 849
Points : 14 350
Points : 14 350
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 :
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
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

plugin dialogModal

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 20/02/2013, 17h03   #2
fredoche
Membre éprouvé
 
Inscription : décembre 2003
Messages : 386
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 386
Points : 480
Points : 480
Bonjour

Merci beaucoup Daniel pour le lien vers JQuery Migrate, ça va m'être fort utile
Citation:
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

Citation:
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.
fredoche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2013, 22h17   #3
danielhagnoul
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 849
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 62
Localisation : Belgique

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

Informations forums :
Inscription : février 2009
Messages : 3 849
Points : 14 350
Points : 14 350
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).
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

plugin dialogModal

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 16h16   #4
fredoche
Membre éprouvé
 
Inscription : décembre 2003
Messages : 386
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 386
Points : 480
Points : 480
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.
fredoche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2013, 20h47   #5
ABCIWEB
Expert Confirmé
 
Homme Alain
Inscription : septembre 2010
Messages : 1 917
Détails du profil
Informations personnelles :
Nom : Homme Alain
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : septembre 2010
Messages : 1 917
Points : 2 851
Points : 2 851
Salut,

Faites attention avec jquery-migrate.

Je viens de passer deux heures en me demandant pourquoi la console me renvoyait l'erreur :
Code :
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).
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2013, 22h15   #6
danielhagnoul
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 849
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 62
Localisation : Belgique

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

Informations forums :
Inscription : février 2009
Messages : 3 849
Points : 14 350
Points : 14 350
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
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

plugin dialogModal

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2013, 02h06   #7
ABCIWEB
Expert Confirmé
 
Homme Alain
Inscription : septembre 2010
Messages : 1 917
Détails du profil
Informations personnelles :
Nom : Homme Alain
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : septembre 2010
Messages : 1 917
Points : 2 851
Points : 2 851
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à
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h49.


 
 
 
 
Partenaires

Hébergement Web