jQuery v1.4 中的 onreadystatechange
-
20-09-2019 - |
题
新的 jQuery v1.4 是这么说的……
jquery.ajax()现在使用onreadystatechange而不是计时器
Ajax请求现在应该使用ReadyStateChange而不是轮询来获取更少的资源。
我不确定这到底意味着什么,但在我的网站(像 facebook、myspace 这样的社交网络)上,我有用户收到的通知,它会定期进行 AJAX 调用,以查看页面上是否有新的通知显示,这是否可以改进类似事情的完成方式?
解决方案
是的,它会改善您的网站。根据您的站点使用的 AJAX 数量,速度方面的改进不会像调用期间使用的系统资源减少那么明显。
IE6不支持 onreadystatechange
所以我假设它会回退到 IE6 的计时器,但 XMLHTTPRequest 的大多数其他浏览器实现都支持该事件。事件回调始终使用比轮询脚本(每隔几毫秒检查一次)更少的资源。
关于IE6
onreadystatechange 事件是在 Windows Internet Explorer 7 中引入的。 来源:微软软件定义网络
其他提示
2道格Neiner
IE 6的绝对支持强>事件的onreadystatechange。我现在在IE上XPSP2 6.0.2可以看到它。 MSDN指出XmlHttpRequest对象,因为IE 7版本支持,包括其所有事件。现代库(如jQuery)的解决方法本通过手动创建对象“Microsoft.XMLHTTP”或“MSXML2.XMLHTTP”,这两者都支承onreadystatechange事件。 例如此处(MSDN)。
好运。
PS回答这里怎么把该线程在谷歌结果的顶部10搜索“的onreadystatechange jquery的”
onReadyStateChange
是xmlHttpRequest
对象上的属性。它看起来像$.ajax
以前轮询XHR,看它是否准备好了,但现在不是听实际事件。这意味着它消耗更少的JavaScript资源,它不会解除您的任何服务器资源,因为你还要做AJAX轮询的是的意义。因此,它不是真的,你要实现什么新技术,它只是在后面发生的事情的差异,并利用了改进,所有你需要做的是切换到新版本。
我猜(但我不知道),现在他们使用onReadyStateChange
,你也可以通过自己的回调方法,以该事件,这将允许你做的彗星(‘AJAX推’),这有可能提高你的服务器端性能。但要注意,彗星可以是棘手以实现:)