跨浏览器 Object.watch() Polyfill
监视对象的更改对于 JavaScript 应用程序至关重要。虽然 Object.watch() 在 Mozilla 浏览器中提供了此功能,但在其他浏览器中缺乏支持。这个问题探讨了用于跨浏览器对象监控的 Object.watch() 的替代方案。
一个建议的解决方案是问题中提到的 jQuery 插件。然而,为了更广泛的浏览器兼容性,建议使用自定义polyfill。
流行的跨浏览器Object.watch() polyfill可在http://webreflection.blogspot.com/2009/01/internet-explorer上找到-object-watch.html。这个polyfill已经过广泛的测试,可以在IE8、Safari、Chrome、Firefox和Opera中运行。
要使用polyfill,首先为你想要监控的对象创建一个观察者,如下例所示:
<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>
这个polyfill有效地模仿了Object.watch()功能,允许开发者在任何网络浏览器中监控对象的变化。
以上是如何实现跨浏览器对象监控:“Object.watch()”的 Polyfill的详细内容。更多信息请关注PHP中文网其他相关文章!