Heim >Web-Frontend >js-Tutorial >So implementieren Sie die browserübergreifende Objektüberwachung: Eine Polyfüllung für „Object.watch()'.
Cross-Browser Object.watch() Polyfill
Die Überwachung von Änderungen in Objekten ist für JavaScript-Anwendungen unerlässlich. Während Object.watch() diese Funktionalität in Mozilla-Browsern bereitstellt, fehlt ihr in anderen Browsern die Unterstützung. In dieser Frage werden Alternativen zu Object.watch() für die browserübergreifende Objektüberwachung untersucht.
Eine vorgeschlagene Lösung ist das in der Frage erwähnte jQuery-Plugin. Für eine breitere Browserkompatibilität wird jedoch eine benutzerdefinierte Polyfüllung empfohlen.
Eine beliebte browserübergreifende Object.watch()-Polyfüllung ist unter http://webreflection.blogspot.com/2009/01/internet-explorer verfügbar -object-watch.html. Diese Polyfüllung wurde ausgiebig getestet und funktioniert in IE8, Safari, Chrome, Firefox und Opera.
Um die Polyfüllung zu verwenden, erstellen Sie zunächst einen Watcher für das Objekt, das Sie überwachen möchten, wie im folgenden Beispiel gezeigt:
<code class="javascript">var options = {'status': 'no status'}, watcher = createWatcher(options);</code>
Überwachen Sie dann die gewünschte Eigenschaft und stellen Sie eine Rückruffunktion bereit, um Eigenschaftsänderungen zu verarbeiten:
<code class="javascript">watcher.watch("status", function(prop, oldValue, newValue) { document.write("old: " + oldValue + ", new: " + newValue + "<br>"); return newValue; });</code>
Zuletzt weisen Sie der überwachten Eigenschaft Werte zu, um den Rückruf auszulösen:
<code class="javascript">watcher.status = 'asdf'; watcher.status = '1234';</code>
Diese Polyfüllung ahmt effektiv die Object.watch()-Funktionalität nach und ermöglicht es Entwicklern, Objektänderungen in jedem Webbrowser zu überwachen.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die browserübergreifende Objektüberwachung: Eine Polyfüllung für „Object.watch()'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!