Comment extraire du HTML CSS JS pour des éléments DOM spécifiques :
Comme les développeurs Web, l'inspection du code source du site Web pour l'analyse du balisage peut être utile. Cependant, ce processus peut devenir fastidieux lors de l’extraction de sections spécifiques pour une évaluation locale. Copier des éléments individuels et le CSS associé peut s'avérer fastidieux, et enregistrer l'intégralité de la source uniquement pour supprimer le code non pertinent est inefficace.
SnappySnippet : une solution pratique
J'ai développé SnappySnippet pour résoudre ce problème. Cet outil open source, disponible sur GitHub, facilite l'extraction sans effort du code HTML CSS du dernier nœud DOM inspecté. Il fournit également des options de partage direct de code avec CodePen ou JSFiddle.
Fonctionnalités de SnappySnippet :
Défis et solutions de mise en œuvre :
La création de SnappySnippet présentait plusieurs défis. Voici comment je les ai surmontés :
Obtenir des règles CSS correspondantes :
Au départ, j'ai tenté de récupérer les règles CSS originales à partir de fichiers CSS. Cependant, cette approche entraînait des sélecteurs incohérents, rendant l'extraction de code inefficace dans le contexte d'extraits HTML.
Utilisation de getComputedStyle() :
Je me suis concentré sur getComputedStyle(). , mais l'isolation CSS souhaitée est restée insaisissable.
Problème 1 : Séparer le CSS du HTML
Pour séparer le CSS du HTML, j'ai attribué des identifiants uniques aux nœuds sélectionnés et je les ai utilisés pour création de règles CSS ciblées.
Problème 2 : Suppression des valeurs par défaut
getComputedStyle() renvoie toutes les propriétés et valeurs CSS d'un élément, y compris les valeurs vides et par défaut du navigateur. J'ai créé une iframe vide pour extraire les styles par défaut et supprimer les propriétés insignifiantes de l'extrait HTML.
Problème 3 : conserver uniquement les propriétés abrégées
J'ai supprimé les propriétés avec des équivalents abrégés à améliorer la lisibilité du code.
Problème 4 : Suppression des propriétés préfixées
L'utilisation excessive de propriétés préfixées (-webkit-, etc.) a posé un défi. J'ai décidé d'éliminer ces propriétés car leur pertinence était incertaine et le plus souvent inutile.
Problème 5 : Combiner des règles CSS identiques
Les règles CSS répétitives ont été optimisées en combinant des règles avec propriétés et valeurs identiques, ce qui donne un code plus compact.
Problème 6 : nettoyage et indentation du HTML
J'ai utilisé la bibliothèque jquery-clean pour reformater le code HTML, améliorant ainsi lisibilité et suppression des attributs indésirables.
Problème 7 : flexibilité des filtres
Les utilisateurs ont la possibilité de désactiver les filtres dans le menu Paramètres, offrant ainsi une flexibilité pour des cas d'utilisation spécifiques.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3