Tous les articles pour Navigateurs

  • Est-il si null cet undefined ?

    Si vous faites du JavaScript régulièrement —et il est de plus en plus difficile d'y couper si vous êtes développeur web—, vous vous êtes peut-être déjà posé cette question : « Quelle est la différence entre la valeur null et la valeur undefined ? ». Question qu'on ne se pose pas quand on vient d'un autre langage. Null vs Undefined

    Si nous résumons ensemble nous pouvons tomber d'accord sur le fait que :

    • Null et Undefined sont tous les deux des types ne possédant qu'une seule valeur ; les constantes respectives null et undefined.
    • Ils s'utilisent tous les deux pour indiquer « l'absence ».
    • Ils sont tous les deux évalués à false dans un contexte booléen (ex. : dans une condition if a, avec l'opérateur binaire d'égalité a == b, avec l'opérateur ternaire conditionnel a ? b : c).

    En gros, ils servent donc à la même chose non ? Cette réponse ne me convient pas car, même s'il est vrai qu'à chaque première vu les comportements JavaScript semblent « loufoque », l'expérience m'a toujours prouvé que « c'était moi » qui n'avait pas compris correctement le JavaScript. Si les deux types existes, il y a forcément une raison. Voici ce qui en est concrètement dit :

    La valeur undefined appartient au type primitif Undefined et est utilisée quand aucune valeur typée n'a été assignée à une variable.

    La valeur null appartient au type primitif Null et représente l'absence de valeur, la non-existence d'une référence dans une variable.

    La distinction est plus clair ainsi non ? Pas vraiment... On va retrousser nos manches et regarder un peu ce qu'on peut éclaircir. Si vous n'avez pas le temps de suivre l'explication exhaustive et intéressante qui va suivre je vous laisse filer à la conclusion qui répond à cette question. Si par contre vous êtes curieux et/ou avez le temps de comprendre les différences, c'est juste en dessous !


  • Éviter le détournement de clic par iFrame de votre site

    J'en vois déjà venir d'assez loin : « les iFrames c'est old school ». Ça me rappel l'époque ou les Frames « c'était old school ». Pour les gars du fond, une iFrame permet d'insérer dans la page courante d'un site le contenu complet d'une autre page. Et si vous ne vous y intéressez plus car vous n'en voyez pas l'intérêt, sachez que d'autres peuvent le voir.

    Effectivement, vous n'êtes pas à l'abri de retrouver une page de votre site dans l'iFrame d'un autre site. À partir de là, pas mal de scénarios sont envisageables ; du moins dérangeant comme la solicitiation de votre serveur à chaque fois que la page du site embarquant votre page est réclamée aux plus génants comme le détournement de clic (clickjacking).


  • StackEdit.io, l'éditeur Markdown en ligne par excellence !

    Connaissez vous les langages Markdown ? Mais si, il est probable que vous en connaissiez sans même savoir qu'ils pouvaient être nommé. Vous avez déjà écris un texte sur un Wiki ? Rédiger une carte sur Trello ? Rédigé un Readme sur GitHub ou sur BitBucket ? Un commentaire sur CodePen ? Vous les avez déjà croisé ces .md rarement reconnus de base par les Bloc-notes.

    Responsive Web Design
    Source : lh4.googleusercontent.com

    Non ? Si cela ne vous parle pas, sachez que Markdown pourrait devenir votre meilleur ami pour écrire des spécifications précises ou vagues sur vos projets, seul ou avec vos collègues avec un minimum d'efforts grâce à StackEdit.io. Vous pourriez même au final écrire toutes sortes de choses facilement !


  • Maîtriser les requêtes au chargement d'une page web

    Quand une page web est chargée, les éléments externes à celle-ci sont appelés tout au long de son chargement pour permettre au navigateur d'afficher le résultat visuel final. Cela prend du temps, et certains chargements bloquent le rendu alors que d'autres non. D'autres encore sont ignorés tant qu'une action de la part de l'utilisateur n'a pas été effectuée.

    Pour bien comprendre et manager ses chargements de page, je vous propose de comprendre une liste de comportement au chargement des ressources pour Chrome, Safari, Firefox, IE et Opera.