Un exemple simple utilisant un objet javascript intégré: navigator.my_new_property = "some value"; // pouvons-nous détecter que cette nouvelle propriété a été ajoutée?Détecter lorsqu'une nouvelle propriété est ajoutée à un objet Javascript?
Je ne souhaite pas interroger en permanence l'objet pour rechercher de nouvelles propriétés. Existe-t-il un type de paramètre de niveau supérieur pour les objets au lieu d'indiquer explicitement la propriété à surveiller?
Encore une fois, je ne veux pas détecter si la valeur de la propriété a changé, mais plutôt quand une nouvelle propriété est ajoutée.
Des idées? merci
Merci pour la réponse détaillée. Si je vais sur la route de vote, que considerez-vous comme un bon intervalle en ms? Évidemment, je voudrais qu'il soit efficace, mais ne répète pas inutilement. Y a-t-il un intervalle "standard" que certains cadres utilisent pour leur interrogation? Les suggestions sont appréciées. – UICodes
Je pense que cela dépend exactement de ce que vous voulez faire; il n'y a pas de réponse unique. Quel objet interrogez-vous, à quelle fréquence vous attendez-vous à ce qu'il change, combien d'autres propriétés sont définies sur ce sujet pour passer? Alors que vous pouvez vous en sortir avec un très petit intervalle comme 50ms sur un navigateur de bureau moderne, pour un objet bien peuplé sur un navigateur faible comme IEMobile6 qui pourrait le mettre à genoux! Incidemment, pour les objets hôtes comme 'navigator' il n'y a même pas de garantie que la définition de nouvelles propriétés, ou l'utilisation de' for ... in' pour itérer sur eux, fonctionnera! : -S – bobince
vous ne pouvez déjà pas capturer les changements de propriétés sur de nombreux objets hébergés (par exemple, essayez de définir un getter/paramètre sur les propriétés de l'objet DOM), donc je ne vois pas le problème de fournir un notifier cause. – Michael