Cross-Browser Object.watch() Polyfill
La surveillance des modifications apportées aux objets est essentielle pour les applications JavaScript. Bien que Object.watch() fournisse cette fonctionnalité dans les navigateurs Mozilla, elle n'est pas prise en charge dans les autres navigateurs. Cette question explore des alternatives à Object.watch() pour la surveillance des objets entre navigateurs.
Une solution suggérée est le plugin jQuery mentionné dans la question. Cependant, pour une compatibilité plus large avec les navigateurs, un polyfill personnalisé est recommandé.
Un polyfill multi-navigateurs Object.watch() populaire est disponible sur http://webreflection.blogspot.com/2009/01/internet-explorer -object-watch.html. Ce polyfill a été largement testé et fonctionne dans IE8, Safari, Chrome, Firefox et Opera.
Pour utiliser le polyfill, créez d'abord un observateur pour l'objet que vous souhaitez surveiller, comme indiqué dans l'exemple ci-dessous :
<code class="javascript">var options = {'status': 'no status'}, watcher = createWatcher(options);</code>
Ensuite, surveillez la propriété souhaitée et fournissez une fonction de rappel pour gérer les modifications de propriété :
<code class="javascript">watcher.watch("status", function(prop, oldValue, newValue) { document.write("old: " + oldValue + ", new: " + newValue + "<br>"); return newValue; });</code>
Enfin, attribuez des valeurs à la propriété surveillée pour déclencher le rappel :
<code class="javascript">watcher.status = 'asdf'; watcher.status = '1234';</code>
Ce polyfill imite efficacement la fonctionnalité Object.watch(), permettant aux développeurs de surveiller les modifications des objets dans n'importe quel navigateur Web.
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!