(je ne besoin d'une fonctionnalité dans Chrome)
Contexte:.
Je hacking ensemble un Node.js script qui surveille automatiquement les fichiers qu'il sert pour les modifications, puis utilise une connexion websocket pour envoyer un message à une page de contrôle dans le navigateur qui gère le rechargement des ressources. Par exemple, si une page html a un <img href="foo.jpg" />
, le serveur va regarder le jpg et envoyer un message à la page que "foo.jpg" a changé. À ce stade, j'utilise javascript pour recharger recharger l'image (src = src + "? Cachbust = 00002", ou quelque chose comme ça). Lorsqu'une image d'arrière-plan change, je parcours les éléments de la page pour trouver des références à l'image et la réinitialise avec une nouvelle chaîne de requête pour la recharger. Pour ce faire, j'utilise la solution $(...).css("background-image", ...)
de jquery. Cela fonctionne, mais quand je change par la suite la valeur de l'URL dans le css (ie: background: url (foo.jpg); => background: url (bar.jpg)), la valeur background-img ne change pas .
Pour les modifications CSS, mon script recharge la feuille de style liée. Mon soupçon est que la valeur que j'ai assignée via javascript a préséance sur la valeur de la règle css dans la feuille de style liée et un attribut de style en ligne.
Question:
Y at-il de toute façon à forcer Chrome à recalculer et appliquer la valeur de la feuille de style externe et d'appliquer à des éléments qui ont eu des styles assignés par la fonctionnalité de jquery $(...).css("...","...")
?
Merci à tous.
Merci pointu, c'est ce que je pensais aussi. Cela ne fait probablement pas beaucoup de différence dans les performances, mais je suis toujours plein d'espoir pour un raccourci bon marché. – Stuart