recherche
Maisoninterface Webtutoriel CSSComment forcer une actualisation du DOM dans Chrome sur Mac ?

How to Force a DOM Refresh in Chrome on Mac?

Forcer l'actualisation du DOM sur Chrome pour Mac

Malgré un code HTML et CSS valide, Chrome sur Mac ne parvient parfois pas à restituer correctement les éléments ou néglige le rendu eux entièrement. Bien que l'inspection du DOM via l'inspecteur résolve souvent le problème, il existe des cas où Chrome évite intentionnellement de redessiner.

Le hack de redessin/actualisation courant qui fonctionne pour d'autres combinaisons navigateur-OS implique de modifier une propriété CSS inutilisée, en récupérant certaines informations pour déclencher un redessinage, puis annuler la modification de propriété.

Cependant, cette méthode échoue dans Chrome pour Mac. Une solution plus complexe a dû être employée :

$(el).css("border", "solid 1px transparent");
setTimeout(function() {
  $(el).css("border", "solid 0px transparent");
}, 1000);

Cette méthode fait visiblement sauter l'élément, ce qui force un redessin. Cependant, réduire le délai d'attente en dessous de 500 ms peut entraîner un redessin du navigateur avant que l'élément ne revienne à son état d'origine, annulant ainsi l'effet.

Méthodes de redessinage alternatives

Une autre actualisation simple La méthode qui peut suffire est de masquer puis d'afficher immédiatement le conteneur parent de l'élément qui a besoin redessiner.

// jQuery
$('#parentOfElementToBeRedrawn').hide().show(0);

// Plain JavaScript
document.getElementById('parentOfElementToBeRedrawn').style.display = 'none';
document.getElementById('parentOfElementToBeRedrawn').style.display = 'block';

Pour un redessinage plus approfondi, un nœud de texte vide peut être inséré et supprimé de l'élément :

var forceRedraw = function(element){

  if (!element) { return; }

  var n = document.createTextNode(' ');
  var disp = element.style.display;  // don't worry about previous display style

  element.appendChild(n);
  element.style.display = 'none';

  setTimeout(function(){
      element.style.display = disp;
      n.parentNode.removeChild(n);
  },20); // you can play with this timeout to make it as short as possible
}

Cela force une redistribution, comme décrit par Paul Irish : http://paulirish.com/2011/dom-html5-css3-performance/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Ajout d'ombres de boîte aux blocs et éléments WordPressAjout d'ombres de boîte aux blocs et éléments WordPressMar 09, 2025 pm 12:53 PM

Le CSS Box-Shadow et les propriétés de contour ont gagné le thème. Laissez regarder quelques exemples de la façon dont cela fonctionne dans des thèmes réels et des options que nous devons appliquer ces styles aux blocs et éléments WordPress.

Créez un formulaire de contact JavaScript avec le cadre Smart FormsCréez un formulaire de contact JavaScript avec le cadre Smart FormsMar 07, 2025 am 11:33 AM

Ce tutoriel montre la création de formulaires JavaScript professionnels à l'aide du cadre Smart Forms (Remarque: non plus disponible). Bien que le cadre lui-même ne soit pas disponible, les principes et techniques restent pertinents pour d'autres constructeurs de formulaires.

Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiquesDemystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiquesMar 08, 2025 am 09:45 AM

Ceci est le 3ème article d'une petite série que nous avons faite sur l'accessibilité. Si vous avez manqué le deuxième article, consultez "Gestion de la mise au point des utilisateurs avec: Focus-visible". Dans

Créer un éditeur de texte en ligne avec l'attribut satisfaistableCréer un éditeur de texte en ligne avec l'attribut satisfaistableMar 02, 2025 am 09:03 AM

La construction d'un éditeur de texte en ligne n'est pas triviale. Le processus commence par rendre l'élément cible modifiable, gérer des exceptions potentielles de syntaxerror en cours de route. Créer votre éditeur Pour créer cet éditeur, vous devrez modifier dynamiquement le contenu

Travailler avec GraphQL CachingTravailler avec GraphQL CachingMar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Faire votre première transition Svelte personnaliséeFaire votre première transition Svelte personnaliséeMar 15, 2025 am 11:08 AM

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres)Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres)Mar 04, 2025 am 10:22 AM

Cet article explore les meilleurs scripts de générateur de formulaires PHP disponibles sur le marché Envato, en comparant leurs fonctionnalités, leur flexibilité et leurs design. Avant de plonger dans des options spécifiques, comprenons ce qu'est un constructeur de formulaires PHP et pourquoi vous en utiliseriez un. Un formulaire PHP

Téléchargement de fichiers avec Multer dans Node.js et ExpressTéléchargement de fichiers avec Multer dans Node.js et ExpressMar 02, 2025 am 09:15 AM

Ce tutoriel vous guide dans la création d'un système de téléchargement de fichiers à l'aide de Node.js, Express et Multer. Nous couvrirons les téléchargements de fichiers uniques et multiples, et nous ferons même de la démonstration de stockage d'images dans une base de données MongoDB pour une récupération ultérieure. Tout d'abord, configurez votre projec

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel