原型 - 是否有AJAX启动/停止事件全局触发AJAX模态等待消息?

Ren*_*eno 4 prototype

在Prototype中,是否有AJAX启动/停止事件,允许您创建一个脚本,以便在AJAX加载期间全局显示模态等待消息?

就像,使用jQuery我在应用程序布局中使用这个脚本来全局显示任何jQuery AJAX事件的模态等待对话框:

<script type="text/javascript">
$(document).ajaxStart(function () {
    $.blockUI({ message: '<h1><img src="../images/busy.gif" /> Just a moment...</h1>' });
});
$(document).ajaxStop(function () {
    $.unblockUI();
});
</script>
Run Code Online (Sandbox Code Playgroud)

谢谢 - 非常感谢?

rob*_*lls 9

使用Prototype,您可以访问变量Ajax.activeRequestCount(此处有更多信息)

这通过监视他们的onCreate和onComplete事件,随时包含当前活动的AJAX请求(由Prototype创建的请求)的数量.

编辑

未经测试但这样的事情应该有效:

Ajax.Responders.register({
  onCreate: showProcessing,
  onComplete: hideProcessing
});

function showProcessing() {
  if(Ajax.activeRequestCount > 0){
        $('inProgress').show();
    }
}

function hideProcessing () {
  if(Ajax.activeRequestCount <= 0){
      $('inProgress').hide();
  }
}
Run Code Online (Sandbox Code Playgroud)