Cross-Browser Object.watch() Polyfill
オブジェクトの変更の監視は、JavaScript アプリケーションにとって不可欠です。 Object.watch() は Mozilla ブラウザでこの機能を提供しますが、他のブラウザではサポートされていません。この質問では、ブラウザ間オブジェクト監視のための Object.watch() の代替案を検討します。
提案される解決策の 1 つは、質問で言及されている jQuery プラグインです。ただし、より広範なブラウザ互換性を確保するには、カスタム ポリフィルをお勧めします。
人気のクロスブラウザ Object.watch() ポリフィルは、http://webreflection.blogspot.com/2009/01/internet-explorer で入手できます。 -オブジェクトウォッチ.html。このポリフィルは広範囲にテストされており、IE8、Safari、Chrome、Firefox、Opera で動作します。
ポリフィルを使用するには、以下の例に示すように、まず監視するオブジェクトのウォッチャーを作成します。
<code class="javascript">var options = {'status': 'no status'}, watcher = createWatcher(options);</code>
次に、目的のプロパティを監視し、プロパティの変更を処理するコールバック関数を提供します:
<code class="javascript">watcher.watch("status", function(prop, oldValue, newValue) { document.write("old: " + oldValue + ", new: " + newValue + "<br>"); return newValue; });</code>
最後に、監視されているプロパティに値を割り当ててコールバックをトリガーします:
<code class="javascript">watcher.status = 'asdf'; watcher.status = '1234';</code>
このポリフィルは Object.watch() 機能を効果的に模倣しており、開発者は任意の Web ブラウザでオブジェクトの変更を監視できます。
以上がクロスブラウザー オブジェクト監視の実装方法: `Object.watch()` のポリフィルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。