Chez oim, forum libreChez oim, forum libre

 



Ce site web est garanti sans gluten !
(Peut contenir des traces d'oeuf, de fruits à coque, de lait, de crustacés, de végétariens)



Pages: [1]   En bas

Auteur Sujet: Lorsque j'utilise innerHtml/appendHtml, mon css ne s'applique pas ! Pourquoi ?  (Lu 380 fois)

Songbird

  • Invité

Par défaut, Dart nettoie les injections d'html avant de les ajouter au document.
Seulement, lorsqu'il effectue le nettoyage, il supprime également tous les attributs de l'élément, y compris l'attribut style: affichant alors simplement votre texte.

Pour remédier au problème, il faut alors implémenter la classe abstraite NodeValidator dans une classe que vous aurez préalablement déclarée.
L'interface NodeValidator se charge de retenir les règles à faire respecter aux prochains morceaux de code HTML.

Voici un exemple d'utilisation:
Code: dart
import 'dart:html';
void main()
{
  var body = querySelector("body");
  body.setInnerHtml('<span style="color: red;">Hello, friend.</span>', validator: new TrustedNodeValidator()); /**On utilise la méthode setInnerHtml pour injecter et respecter les règles personnalisées.*/
}

/**Déclaration et implémentation de l'interface NodeValidator*/
class TrustedNodeValidator implements NodeValidator
{
  bool allowsElement(Element element) => true; /**On autorise les éléments HTML*/
 
  bool allowsAttribute(element, attributeName, value) => true; /**On leur permet de posséder des attributs*/
}
Vous pouvez tester cet exemple ici.
Ou vous rendre sur la source de ce post ici.
Pages: [1]   En haut
 

+ Réponse Rapide

Page générée en 0.116 secondes avec 19 requêtes.