JSON Feed : le nouveau format de syndication pour diffuser les flux d'informations est disponible en version 1.0, pourra-t-il détrôner RSS et Atom ?

#16474

Un pavé dans la marre ?

J’avoue que JSON permettrait une plus grande interactivité entre les flux. Pour coder un lecteur RSS moi-même je peux vous assurer que le JSON aurait été beaucoup plus pratique que du XML (notamment parce que les parseurs intégrés dans les langages et les lib sont plus rapides et faciles à utiliser).

XML a cet avantage de pouvoir être affiché et stylisé beaucoup plus facilement côté client (les navs sérieux sont déjà capables de parser et d’afficher du XML comme une page web).

Dans tous les cas, si ça ils pouvaient ne pas reproduire les erreurs de RSS/ATOM, ça serait bien. Dans RSS t’as des dizaines de façons différentes de spécifier le titre ou la date d’un post.
En Atom certains trucs sont chiants à parser (le contenu des éléments change en fonction des attributs, etc.).

https://www.developpez.com/actu/139075/JSON-Feed-le-nouveau-format-de-syndication-pour-diffuser-les-flux-d-informations-est-disponible-en-version-1-0-pourra-t-il-detroner-RSS-et-Atom/

[CSS] You Know About Display Inline Block Gap

#12989

Ceci est un comportement très chiant. Seul Opera 12.x ne l’avait pas (en même temps, ce navigateur appliquait les spec mieux que les spec elle-mêmes…).

L’espacement est dû aux espaces dans le code source : espaces, tabulations, retour à la ligne.

Si on écrit tout le code HTML sur une seule ligne, ça sera moche mais le problème disparaît. Le code DOM généré en JS n’a pas ce soucis non plus.

Une autre solution est d’utiliser un « line-height:0; » dans le parent (le ul)et de remettre un line-height/font-size dans le block (les li).

http://www.frontendevelopers.com/you-know-about-display-inline-block-gap/

timovn/jscss-tiles · GitHub

#12954

Je viens de voir que parfois, surtout Chrome, buguait sur ce script : le calcul des tailles des images avait déjà commencée que les images n’avaient pas encore toutes chargées dans le navigateur.

Il faut impérativement lancer le JS quand la page a finie de charger (ou au moins les images). On fait ça avec un onload :

window.addEventListener('load', tileImages);


Si ça marchait dans Firefox et pas toujours dans Chrome, c’est parce que la fonction JS « getComputedStyle » ne fonctionne pas pareil.

Un style CSS, par exemple une largeur, se calcule en 3 étapes :
– 1) la valeur déclarée : c’est la valeur retenue (selon les règles de spécificité CSS) une fois que le CSS est calculé.
– 2) la valeur calculée : quand on déclare une valeur en pourcent, le navigateur transforme ça en pixels (ex : largeur du bloack parent = 200px, et l’enfant fait 50%, la valeur calculée est 100px).
– 3) la valeur retenue : quand il y a plusieurs niveaux d’imbrication de valeurs relatives (%, em, en…), il faut parfois recalculer certaines zones.

À l’issue de la 3e étape : chaque élément de la page dispose alors de tailles, et positions finales sur la page. Le rendu est alors effectué.

Sauf que… pour certaines propriétés CSS, en particulier « width » et « height », le « getComputedStyle » retourne la valeur calculée (étape 2) et non la valeur finale (étape 3), ce qui pose un problème dans le cas présent.

Chrome et Firefox ne renvoient pas toujours les mêmes valeurs à cet endroit précis : je crois que Firefox refait un rendu en plus de tout ça (c’est pour ça que ça marchait dans Fx et pas Chrome).

Tout ceci devient assez compliqué. Mais savoir commence fonctionne un navigateur en internet permet parfois de s’en sortir.