Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5052 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  1346  1347  1348  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°2258520
pop-pan
yay!
Posté le 21-05-2015 à 12:49:31  profilanswer
 

Reprise du message précédent :

Proov a écrit :

Hello! Question de n00b en JS (pour changer) :D  
 
J'essaye de faire un code simple pour gérer la classe active sur un menu qui charge du contenu en ajax. Du coup le menu reste en permanence dans la page car il est en dehors de la zone qui va charger/décharger les données.
 
Je fais ça :

Code :
  1. $(".nav__cats" ).on("click", "a", function(){
  2.     console.log($(this));
  3.     $(this).parent().parent().find("li" ).removeClass("active" );
  4.     $(this).parent().addClass("active" );
  5. });


 
rien de compliqué en somme.. ça marche mais lors du premier chargement, quand je clique, le console.log renvoie 1 élément, lors du 2nd clic, il renvoie 2 éléments (les mêmes) et ainsi de suite...


 
 
C'est plus simple de faire ca sur tes LI directement
 

Code :
  1. $(".nav__cats" ).on("click", "li", function(e){
  2.    var self = $(this);
  3.    self.siblings().removeClass("active" ) && self.addClass("active" );
  4. });


 
et si tu veux remonter : $(this).closest(".nav__cats" )


---------------
Plop !
mood
Publicité
Posté le 21-05-2015 à 12:49:31  profilanswer
 

n°2258658
Proov
Art & Science
Posté le 24-05-2015 à 10:43:40  profilanswer
 

pop-pan a écrit :


 
 
C'est plus simple de faire ca sur tes LI directement
 

Code :
  1. $(".nav__cats" ).on("click", "li", function(e){
  2.    var self = $(this);
  3.    self.siblings().removeClass("active" ) && self.addClass("active" );
  4. });


 
et si tu veux remonter : $(this).closest(".nav__cats" )


 
propre :jap:  
 
Je vois souvent "self" dans les scripts JS quand j'essaie de comprendre pour m'en inspirer. C'est une convention de nommage comme this ? ou ça fait vraiment quelque chose en plus ?

n°2258659
Proov
Art & Science
Posté le 24-05-2015 à 10:44:58  profilanswer
 

Sinon une question PHP, dans mes designs je scinde souvent mes titres en 2 parties (title / subtitle), je crois que c'est ma lubie du moment  :D  
genre http://reho.st/self/d4d5cde2d1b35af161cc6091753e582dee1c7dae.png ou http://reho.st/self/07cf28995ea81569731375f5c31d475d26ce8695.png
Et lors de l'intégration je suis obligé de me taper une regex pour détecter le premier espace, bon un bête preg_replace et ça passe ^^ heureusement qu'il y a regex101.com  [:pingouino]  
 
Genre dans mon cas, si j'ai 3 mots il me faudra une regex qui me renvoie les 2 premiers. En gros qui coupe à la motié intelligement :D  Pour l'instant je demande à mes clients de ne pas marquer leur vie dans les titres :o
 
Et je me demandais si vous aviez des regex solides ou fonctions / librairie que vous réutilisiez lors de vos projets ?

n°2258661
tomsoft
Posté le 24-05-2015 à 11:12:31  profilanswer
 

Proov a écrit :

Sinon une question PHP, dans mes designs je scinde souvent mes titres en 2 parties (title / subtitle), je crois que c'est ma lubie du moment  :D  
genre http://reho.st/self/d4d5cde2d1b35a [...] 1c7dae.png ou http://reho.st/self/07cf28995ea815 [...] ce8695.png
Et lors de l'intégration je suis obligé de me taper une regex pour détecter le premier espace, bon un bête preg_replace et ça passe ^^ heureusement qu'il y a regex101.com  [:pingouino]  
 
Genre dans mon cas, si j'ai 3 mots il me faudra une regex qui me renvoie les 2 premiers. En gros qui coupe à la motié intelligement :D  Pour l'instant je demande à mes clients de ne pas marquer leur vie dans les titres :o
 
Et je me demandais si vous aviez des regex solides ou fonctions / librairie que vous réutilisiez lors de vos projets ?


Code :
  1. $p = explode(" ", $titre);
  2. echo array_pop($p); // mot 1
  3. echo implode(" ", $p); // reste des mots


 
C'est tellement plus classe que des regex  :whistle:

n°2258662
bixibu
Ca ... c'est fait!
Posté le 24-05-2015 à 12:21:45  profilanswer
 

Proov a écrit :

 

propre :jap:

 

Je vois souvent "self" dans les scripts JS quand j'essaie de comprendre pour m'en inspirer. C'est une convention de nommage comme this ? ou ça fait vraiment quelque chose en plus ?

 

Dans le scope de la fonction, "this" fait référence à l'élément DOM. Pour retrouver cet élément mais avec l'enveloppe jquery, faut lui appliquer la fonction $(), le résultat étant un objet tres similaire à this mais avec du jquery en +, fallait bien le mettre dns une variable dont le nom est un synonyme proche .. d'où le "self", ou le "that" ou n'importe quoi d'autre. slef n'etant pas un mot clef réservé en JS, il revient souvent mais de là à parler de convention ...
"this" par contre est un mot clef completement réservé servant à choper ton scope courant

 

:hello:

Message cité 1 fois
Message édité par bixibu le 24-05-2015 à 12:23:08

---------------
App Android NextGP : Store - TU | Makerworld
n°2258664
Devil'sTig​er
Posté le 24-05-2015 à 12:54:32  profilanswer
 

Proov a écrit :


 
propre :jap:  
 
Je vois souvent "self" dans les scripts JS quand j'essaie de comprendre pour m'en inspirer. C'est une convention de nommage comme this ? ou ça fait vraiment quelque chose en plus ?


Self c'est juste le this en python.
 
Ca garde le scope d'un endroit donné, pratique quand tu enchaines les scope dans des callbacks.
 
 
T'a 3 conventions courantes:

Code :
  1. var that = this;
  2. var _this = this;
  3. var self = this;


 
T'a aussi une dernière

Code :
  1. var scope = this;


 
Mais déjà moins utilisée que les autres.
 
La plus courante étant that. Puisque en anglais la différence entre that et this en anglais tient de la distance entre l'interlocuteur et l'objet:
 
http://www.anglaisfacile.com/exerc [...] is-291.php
 
Etant donnée que var that = this; sert a garder une trace d'un scope en amont d'un callback qui perd le scope, le that est parfait puisqu'il décrit un scope plus lointain (en amont) que le this :o
 
/2min d'anglais utile :o
 
 
Maintenant dans ton cas, le self fait aussi bonne figure, puisqu'ici tu ne gardes pas le scope, tu cherches à garder un référence sur le parsing jQuery, pour éviter de le faire deux fois:

Code :
  1. $(".nav__cats" ).on("click", "li", function(e){
  2.         var self = $(this);
  3.         self.siblings().removeClass("active" ) && self.addClass("active" );
  4.     });


 
est plus rapide que:

Code :
  1. $(".nav__cats" ).on("click", "li", function(e){
  2.         $(this).siblings().removeClass("active" ) && $(this).addClass("active" );
  3.     });


 
Puisque dans le deuxième cas tu exécutes 2x la fonction $ avec $(this), donc plus lent que l'allocation d'une variable...

Message cité 1 fois
Message édité par Devil'sTiger le 24-05-2015 à 12:56:38
n°2258666
ratibus
Posté le 24-05-2015 à 13:52:36  profilanswer
 

tomsoft a écrit :


Code :
  1. $p = explode(" ", $titre);
  2. echo array_pop($p); // mot 1
  3. echo implode(" ", $p); // reste des mots


 
C'est tellement plus classe que des regex  :whistle:


Code :
  1. list($mainTitle,$subtitle) = explode(" ", $titre, 2);


n°2258668
john8585
Posté le 24-05-2015 à 15:19:05  profilanswer
 

bixibu a écrit :


slef n'etant pas un mot clef réservé en JS, il revient souvent mais de là à parler de convention ...

 

self n'est pas un mot clé en JS mais est censé être un proxy vers window dans un navigateur, du coup si on utilise self dans une fonction JS, on a plus accès à ce self global dans cette portée. C'est donc parfois déconseillé au profit de that ou _this.
http://www.nczonline.net/blog/2007 [...] ldn-t-use/

Message cité 1 fois
Message édité par john8585 le 24-05-2015 à 15:30:01
n°2258679
pop-pan
yay!
Posté le 24-05-2015 à 22:25:46  profilanswer
 

john8585 a écrit :


 
self n'est pas un mot clé en JS mais est censé être un proxy vers window dans un navigateur, du coup si on utilise self dans une fonction JS, on a plus accès à ce self global dans cette portée. C'est donc parfois déconseillé au profit de that ou _this.  
http://www.nczonline.net/blog/2007 [...] ldn-t-use/


 
ah ouais tiens c'est vrai ca, j'utilise toujours window.self mais c'est assez rare tout de meme.
 
 

Proov a écrit :

Sinon une question PHP, dans mes designs je scinde souvent mes titres en 2 parties (title / subtitle), je crois que c'est ma lubie du moment  :D  
genre http://reho.st/self/d4d5cde2d1b35a [...] 1c7dae.png ou http://reho.st/self/07cf28995ea815 [...] ce8695.png
Et lors de l'intégration je suis obligé de me taper une regex pour détecter le premier espace, bon un bête preg_replace et ça passe ^^ heureusement qu'il y a regex101.com  [:pingouino]  
 
Genre dans mon cas, si j'ai 3 mots il me faudra une regex qui me renvoie les 2 premiers. En gros qui coupe à la motié intelligement :D  Pour l'instant je demande à mes clients de ne pas marquer leur vie dans les titres :o
 
Et je me demandais si vous aviez des regex solides ou fonctions / librairie que vous réutilisiez lors de vos projets ?


 
je dirais : /^(.*) +\b(\w+)$/s
match group1 => n'importe quoi avant le dernier mot
match group2 => le dernier mot [a-zA-Z0-9_]
"-" ne fait pas partie de \w et est donc traité par \b comme un word boundary donc si tu as des mots composés ou des tirets cadratins ca passera pas.


---------------
Plop !
n°2258690
par l'anne​au de l'ia
word master
Posté le 25-05-2015 à 08:17:09  profilanswer
 

Bonjour.
C'est puissant le HTML quand même.
Je m'intéresse au Web depuis quelque jours car en réfléchissant un peu je me suis dis pourquoi on ne pourrait pas tout faire en html.
Je croyais que le HTML était orienté texte. Mais avec le développement donc, on doit pouvoir faire n'importe quoi.
Qu'en pensez-vous ?


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
mood
Publicité
Posté le 25-05-2015 à 08:17:09  profilanswer
 

n°2258691
gatsu35
Blablaté par Harko
Posté le 25-05-2015 à 08:21:04  profilanswer
 

par l'anneau de l'ia a écrit :

Bonjour.
C'est puissant le HTML quand même.
Je m'intéresse au Web depuis quelque jours car en réfléchissant un peu je me suis dis pourquoi on ne pourrait pas tout faire en html.
Je croyais que le HTML était orienté texte. Mais avec le développement donc, on doit pouvoir faire n'importe quoi.
Qu'en pensez-vous ?


Le HTML c'est juste pour de l'organisation de contenu et plus (video, audio)
Le HTML5 propose en plus des API, mais ces API sont exécutées avec du JS
le JS en coté navigateur te permet de faire beaucoup de chose, mais en restant dans le browser.

n°2258692
par l'anne​au de l'ia
word master
Posté le 25-05-2015 à 08:42:35  profilanswer
 

Ok, merci beaucoup pour ta vision des choses.
A mon avis peu importe de quel côté est exécuté l'opération fondammentale, l'important c'est d'implémenter le service pour le HTML.
Non ?


Message édité par par l'anneau de l'ia le 25-05-2015 à 08:42:55

---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2258704
TotalRecal​l
Posté le 25-05-2015 à 10:50:59  profilanswer
 

Le HTML sert uniquement à faire de la présentation visuelle, pas à gérer des comportements dynamiques comme par exemple aller chercher une information précise.
Le HTML5 (couplé à du JS spécifique) permet certes d'étendre ces possibilités légèrement en dehors de ce cadre initial, mais ça n'est pas une fin en soi.
 
La frontière de ce qui doit se faire côté client et côté serveur est de plus en plus floue ces dernières années vu que maintenant des applis entières peuvent tourner côté client, mais les limitations (logiques) du HTML sont parfaitement claires elles.


---------------
Topic .Net - C# @ Prog
n°2258731
kao98
...
Posté le 26-05-2015 à 10:00:58  profilanswer
 

Merde Jovalise, qu'est-ce que tu fais là ? :'(

 

Ne lui répondez pas SVP, ça va pourrir ce topic :cry:


Message édité par kao98 le 26-05-2015 à 10:01:13
n°2258732
TotalRecal​l
Posté le 26-05-2015 à 10:22:55  profilanswer
 

La question était à peu près compréhensible et adéquate pour le sujet, donc j'ai pris sur moi de lui répondre [:spamafote].


---------------
Topic .Net - C# @ Prog
n°2258735
Proov
Art & Science
Posté le 26-05-2015 à 10:49:30  profilanswer
 

Devil'sTiger a écrit :


Self c'est juste le this en python.
 
Ca garde le scope d'un endroit donné, pratique quand tu enchaines les scope dans des callbacks.
 
 
T'a 3 conventions courantes:

Code :
  1. var that = this;
  2. var _this = this;
  3. var self = this;


 
T'a aussi une dernière

Code :
  1. var scope = this;


 
Mais déjà moins utilisée que les autres.
 
La plus courante étant that. Puisque en anglais la différence entre that et this en anglais tient de la distance entre l'interlocuteur et l'objet:
 
http://www.anglaisfacile.com/exerc [...] is-291.php
 
Etant donnée que var that = this; sert a garder une trace d'un scope en amont d'un callback qui perd le scope, le that est parfait puisqu'il décrit un scope plus lointain (en amont) que le this :o
 
/2min d'anglais utile :o
 
 
Maintenant dans ton cas, le self fait aussi bonne figure, puisqu'ici tu ne gardes pas le scope, tu cherches à garder un référence sur le parsing jQuery, pour éviter de le faire deux fois:

Code :
  1. $(".nav__cats" ).on("click", "li", function(e){
  2.         var self = $(this);
  3.         self.siblings().removeClass("active" ) && self.addClass("active" );
  4.     });


 
est plus rapide que:

Code :
  1. $(".nav__cats" ).on("click", "li", function(e){
  2.         $(this).siblings().removeClass("active" ) && $(this).addClass("active" );
  3.     });


 
Puisque dans le deuxième cas tu exécutes 2x la fonction $ avec $(this), donc plus lent que l'allocation d'une variable...


 
 
Merci pour ces explications :jap:  
Y'a t'il un interêt à avoir deux instructions sur la même ligne avec "&&" ? C'est juste pour la visibilité ? j'utilise Gulp pour compiler et JSHint me renvoi un warning sur cette ligne  :D "Expected an assignment or function call and instead saw an expression."

n°2258736
kao98
...
Posté le 26-05-2015 à 10:52:46  profilanswer
 

Proov a écrit :


 
 
Merci pour ces explications :jap:  
Y'a t'il un interêt à avoir deux instructions sur la même ligne avec "&&" ? C'est juste pour la visibilité ? j'utilise Gulp pour compiler et JSHint me renvoi un warning sur cette ligne  :D "Expected an assignment or function call and instead saw an expression."


La 2nde instruction n'est pas exécutée en cas d'échec de la première.

n°2258739
Proov
Art & Science
Posté le 26-05-2015 à 11:01:05  profilanswer
 

D'acc [:figti]  :jap:

n°2258763
ChrisPc
Posté le 26-05-2015 à 18:35:17  profilanswer
 

Bonjour !
 
Cherchant sans relâche une solution pour cette div qui ne veut rien comprendre je me résigne à venir ici pour savoir si vous avez déjà rencontré ce problème.
 
Ma div s'appelle conteneur et celle-ci ne veut pas s'adapter à son contenu. Mon min-height est de 660px.
 
Je vous poste une photo de ce qu'ai comme problème. J'analyse mon code avec firebug.
 
http://img11.hostingpics.net/thumbs/mini_229158Sanstitre.png

Message cité 1 fois
Message édité par ChrisPc le 26-05-2015 à 18:38:38
n°2258764
pop-pan
yay!
Posté le 26-05-2015 à 18:58:29  profilanswer
 

ChrisPc a écrit :

Bonjour !
 
Cherchant sans relâche une solution pour cette div qui ne veut rien comprendre je me résigne à venir ici pour savoir si vous avez déjà rencontré ce problème.
 
Ma div s'appelle conteneur et celle-ci ne veut pas s'adapter à son contenu. Mon min-height est de 660px.
 
Je vous poste une photo de ce qu'ai comme problème. J'analyse mon code avec firebug.
 
http://img11.hostingpics.net/thumb [...] stitre.png


 
tes elements a l'interieur seraient pas en float:xxx par hasard...


---------------
Plop !
n°2258765
ChrisPc
Posté le 26-05-2015 à 18:59:26  profilanswer
 

Ils sont en float: left
 
J'ai fait un clear: both sur ma div conteneur rien à faire ...

Message cité 1 fois
Message édité par ChrisPc le 26-05-2015 à 19:00:03
n°2258766
gatsu35
Blablaté par Harko
Posté le 26-05-2015 à 20:40:09  profilanswer
 

ChrisPc a écrit :

Ils sont en float: left
 
J'ai fait un clear: both sur ma div conteneur rien à faire ...


le clear c'est seulement par rapport à un flottant, tant que ta div est conteneur, un clear:both ne servira à rien. Soit tu appliques du contexte de formatage (overflow:hidden ou display:table).
Soit (et c'est la meilleure solution) tu appliques un clearfix sur ton div :  
 

Code :
  1. .mondivquicontientmesfloats:after {
  2. content:""; 
  3. clear:both;
  4. display:table; 
  5. }

n°2258767
GenyaB
Shit fucking game.
Posté le 26-05-2015 à 20:40:48  profilanswer
 

Et un overflow hidden ? :o
 
Édit : visiblement c'est pas la meilleur solution  [:ocube]

Message cité 1 fois
Message édité par GenyaB le 26-05-2015 à 20:42:05
n°2258768
gatsu35
Blablaté par Harko
Posté le 26-05-2015 à 20:47:21  profilanswer
 

GenyaB a écrit :

Et un overflow hidden ? :o

 

Édit : visiblement c'est pas la meilleur solution  [:ocube]


l'overflow:hidden t'appliquera le contexte de formatage ( http://www.alsacreations.com/astuc [...] n-css.html )
Mais te rajouteras une contrainte.
Le clearfix que je t'ai fourni est la meilleure solution.


Message édité par gatsu35 le 26-05-2015 à 20:47:41
n°2258774
ChrisPc
Posté le 26-05-2015 à 23:20:28  profilanswer
 

Wow ! Ce display : table fait des miracles =O !!!
 
Merci beaucoup beaucoup !

n°2258817
pop-pan
yay!
Posté le 27-05-2015 à 11:30:21  profilanswer
 

gatsu35 a écrit :


le clear c'est seulement par rapport à un flottant, tant que ta div est conteneur, un clear:both ne servira à rien. Soit tu appliques du contexte de formatage (overflow:hidden ou display:table).
Soit (et c'est la meilleure solution) tu appliques un clearfix sur ton div :  
 

Code :
  1. .mondivquicontientmesfloats:after {
  2. content:""; 
  3. clear:both;
  4. display:table; 
  5. }



 
+1 pour le pseudo element.
sinon y'a toujours la solution flexbox qui est plus clean mais ca depend de tes browser cibles


---------------
Plop !
n°2258912
ChrisPc
Posté le 27-05-2015 à 22:34:23  profilanswer
 

Firefox, IE et Chrome, le reste j'en ai pas besoin.

n°2258916
tomsoft
Posté le 27-05-2015 à 23:04:30  profilanswer
 

J'ai passé 3-4 jours à optimiser la vitesse de chargement de notre e-commerce responsive :

 

- optimisations sql / php
- gzip/deflate/expires
- nettoyage css / js

 

Mais Google Page Insights m'embêtait pour la partie mobile, sur les CSS qui bloquaient l'affichage au dessus de la ligne de flottaison : il me demandait de différer le chargement des CSS (pas trop possible pour pas avoir d'effet "html brut > html mis en forme pendant 0.5s), ou de mettre le CSS en inline dans le head via <style></style>.

 

http://img.imagesia.com/fichiers/y5/capture-d-ecran-2015-05-27-a-19-33-11_imagesia-com_y518_large.png

 


J'ai +/- 150ko de CSS à balancer (120ko de twt bootstrap + 30ko de css à moi)

 

Dubitatif, j'ai testé un sale :

 
Code :
  1. <style>
  2.     {{ file_get_contents('bootstrap.min.css') }}
  3.     {{ file_get_contents('monstyle.min.css') }}
  4. </style>
 

Je suis passé au vert sur Page Insights :

 

http://img.imagesia.com/fichiers/y5/capture-d-ecran-2015-05-27-a-22-59-01_imagesia-com_y517_large.png

 

Avantages percus : je suis au vert auprès de Google, je réduis de deux requêtes http, j'ajoute pas spécialement de charge niveau serveur (file_get_contents, ça devrait aller ...)

 

Desavantages : je perd la mise en cache navigateur de la feuille de style css et surtout, je passe de +/- 17% de ratio texte/code à 5%

 

Votre avis : bonne ou mauvaise pratique ?

Message cité 2 fois
Message édité par tomsoft le 27-05-2015 à 23:11:30
n°2258918
Devil'sTig​er
Posté le 27-05-2015 à 23:31:07  profilanswer
 

Si tu cherches à maximiser le cache, pourquoi ne pas être passé par le cdn ?

n°2258919
tomsoft
Posté le 27-05-2015 à 23:33:42  profilanswer
 

Devil'sTiger a écrit :

Si tu cherches à maximiser le cache, pourquoi ne pas être passé par le cdn ?


ha oui, bootstrap est dispo sur CDN  :sweat:  
Mais insights risque de me remonter le meme problème de ressource css qui bloque l'affichage de la page non ?

n°2258921
Devil'sTig​er
Posté le 27-05-2015 à 23:49:44  profilanswer
 

Jamais testé le CDN avec insight...
 
EDIT: ca me parait étonnant que insight te donne le placement CSS en bas, sachant que ya des façons plus ou moins recommandée de charger du CSS (certaines sont asynchrones d'autres non), tu peux poster le bout de code avant la modif ?


Message édité par Devil'sTiger le 27-05-2015 à 23:50:55
n°2258922
tomsoft
Posté le 27-05-2015 à 23:54:39  profilanswer
 

C'était de manière classique :
 

Code :
  1. <link href='bootstrap.min.css' rel='stylesheet' type='text/css'>
  2. <link href='monstyle.min.css' rel='stylesheet' type='text/css'>


 
J'ai juste remplacé par :
 

Code :
  1. <style>
  2.     {{ file_get_contents('bootstrap.min.css') }}
  3.     {{ file_get_contents('monstyle.min.css') }}
  4. </style>

n°2258925
gatsu35
Blablaté par Harko
Posté le 28-05-2015 à 06:01:00  profilanswer
 

tomsoft a écrit :


ha oui, bootstrap est dispo sur CDN  :sweat:  
Mais insights risque de me remonter le meme problème de ressource css qui bloque l'affichage de la page non ?


Les CSS doivent de toute façon être chargées en haut de page car sinon tu te retrouve avec un effet degueulasse sur l'affichage de ton site.

n°2258935
Proov
Art & Science
Posté le 28-05-2015 à 09:19:09  profilanswer
 

Je cherche un moyen de faire qqchose en JS mais je ne sais pas trop si c'est possible :/
 
Je veux afficher / masquer une zone avec un bouton, jusqu'ici rien de compliqué.
Sauf que dans cette zone, j'ai des liens qui mènent vers une autre page (chargée en ajax + pushstate). J'aimerai que le statut de la zone (ouvert/fermé) soit mémorisée afin d'éviter de sans cesse ré-ouvrir cette zone quand on fait un "précédent". J'ai testé la solution pushState (et replaceState) + un hash dans l'url mais apparement ça rentre en conflit avec la librairie que j'utilise (pjax.js) et du coup mon retour/précédent ne fonctionne pas... Faudrait faire seulement avec les hash dans l'URL mais j'ai pas trouvé le moyen de retirer un hash.. on peut ajouter mais pas retirer c'est bien ça ? Sinon y'a un autre moyen ?  :D
 
edit: c'est bon apparement avec history.replaceState($.pjax.state, null, href) ça marche, c'était l'objet state qui devait faire foirer la librairie :o


Message édité par Proov le 28-05-2015 à 10:26:18
n°2258954
bixibu
Ca ... c'est fait!
Posté le 28-05-2015 à 11:17:41  profilanswer
 

Pourquoi t'embeter avec des hash dans l'url pour du stockage persistant ? C'est plutôt le boulot d'un cookie ou du localStorage.


---------------
App Android NextGP : Store - TU | Makerworld
n°2258963
pop-pan
yay!
Posté le 28-05-2015 à 12:40:22  profilanswer
 

tomsoft a écrit :

J'ai passé 3-4 jours à optimiser la vitesse de chargement de notre e-commerce responsive :
...
 
J'ai +/- 150ko de CSS à balancer (120ko de twt bootstrap + 30ko de css à moi)
 
Dubitatif, j'ai testé un sale :
 

Code :
  1. <style>
  2.     {{ file_get_contents('bootstrap.min.css') }}
  3.     {{ file_get_contents('monstyle.min.css') }}
  4. </style>


 
Je suis passé au vert sur Page Insights :
 
http://img.imagesia.com/fichiers/y [...] _large.png
 
Avantages percus : je suis au vert auprès de Google, je réduis de deux requêtes http, j'ajoute pas spécialement de charge niveau serveur (file_get_contents, ça devrait aller ...)
 
Desavantages : je perd la mise en cache navigateur de la feuille de style css et surtout, je passe de +/- 17% de ratio texte/code à 5%  
 
Votre avis : bonne ou mauvaise pratique ?


 
spécifique pagespeed, tu split ta css en 2 parties, la partie indispensable a l'affichage au dessus de la ligne de flottaison et le reste.
puis du load conditionnel de tes css avec les media queries
150Ko de css bootstrap c'est que tu charges TOUTE la css des le départ. fait un petit tour par SASS ou LESS et prioritise tout ca.
 
C'est seulement apres que tu peux essayer d'integrer ta css en internal dans la page.
mod_pagespeed le fera pour toi d'ailleurs => https://developers.google.com/speed [...] css-inline
sinon si tu veux absolument le faire dans tes templates readfile() est plus rapide et moins couteux que echo (file_get_contents())
 


---------------
Plop !
n°2258967
ratibus
Posté le 28-05-2015 à 13:16:48  profilanswer
 

tomsoft a écrit :

J'ai passé 3-4 jours à optimiser la vitesse de chargement de notre e-commerce responsive :
 
- optimisations sql / php
- gzip/deflate/expires
- nettoyage css / js
 
Mais Google Page Insights m'embêtait pour la partie mobile, sur les CSS qui bloquaient l'affichage au dessus de la ligne de flottaison : il me demandait de différer le chargement des CSS (pas trop possible pour pas avoir d'effet "html brut > html mis en forme pendant 0.5s), ou de mettre le CSS en inline dans le head via <style></style>.
 
http://img.imagesia.com/fichiers/y [...] _large.png
 
 
J'ai +/- 150ko de CSS à balancer (120ko de twt bootstrap + 30ko de css à moi)
 
Dubitatif, j'ai testé un sale :
 

Code :
  1. <style>
  2.     {{ file_get_contents('bootstrap.min.css') }}
  3.     {{ file_get_contents('monstyle.min.css') }}
  4. </style>


 
Je suis passé au vert sur Page Insights :
 
http://img.imagesia.com/fichiers/y [...] _large.png
 
Avantages percus : je suis au vert auprès de Google, je réduis de deux requêtes http, j'ajoute pas spécialement de charge niveau serveur (file_get_contents, ça devrait aller ...)
 
Desavantages : je perd la mise en cache navigateur de la feuille de style css et surtout, je passe de +/- 17% de ratio texte/code à 5%  
 
Votre avis : bonne ou mauvaise pratique ?


Pour réduire la partie bootstrap t'as testé : http://getbootstrap.com/customize/ ?

n°2258970
tomsoft
Posté le 28-05-2015 à 14:33:31  profilanswer
 

Merci pour les retours, j'ai trouvé cet article du coup qui semble bien complet et expliqué :
 
http://www.appneta.com/blog/bootstrap-pagespeed/

n°2259051
skylight
Made in France.
Posté le 29-05-2015 à 13:36:11  profilanswer
 

Truc bête en PHP :
Dans un système modulable, j'ai un objet de type "Widget"
Dans le templating, je peux appeler mes widgets du style App::getWidget(UID)->getByPos(1)->getTitle();
Ce système peut-être désactivé en configuration

 

Comment je peux faire pour ne pas me retrouver avec des erreurs du type "Call getTitle on null at line xx" ? Et renvoyer un simple "Widgets are desactivated" ?
Existe-t-il des magics functions qui n'arrêtent pas le script PHP et balance un message personnalisé ?
Thx :jap:

Message cité 1 fois
Message édité par skylight le 29-05-2015 à 13:37:58
n°2259052
masklinn
í dag viðrar vel til loftárása
Posté le 29-05-2015 à 13:53:09  profilanswer
 

Renvoie un objet qui implémente __call au lieu de null.

 

Tu peux aussi implémenter __get pour les accès à des attributs.

Message cité 1 fois
Message édité par masklinn le 29-05-2015 à 13:56:27

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2259060
skylight
Made in France.
Posté le 29-05-2015 à 14:17:06  profilanswer
 

Ok merci.
J'aurai pu faire un simple <?php if(App::getConfig('Widgets')):?>, mais c'est moche dans le template et c'est pas son boulot de vérifier ça, so je vais jeter un oeil sur __call justement (j'y pensais)


Message édité par skylight le 29-05-2015 à 14:17:16
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  1346  1347  1348  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)