我不能在Firefox中取消订阅Web套接字

时间:2015-06-15 02:01:58

标签: javascript angularjs firefox atmosphere

我使用大气和angularJS来创建客户端应用程序。 我想在用户单击浏览器中的“返回”按钮或更改位置页面时取消订阅ws。 我的代码在Chrome 38,Safari中正常运行,但在Firefox 33中无效。 我使用角度氛围服务来处理ws。

链接:github.com > spyboost > angular-atmosphere-service.js

var unbindHandler = $scope.$on('$locationChangeStart', function (event, next, current) {
  var path = $location.path();
  event.preventDefault();

  showPopupAlert('confirm', $('#popup_alert'),
    function () {
      try {
        atmosphereService.unsubscribe(request);
      } catch(e) {
        $log.debug(e);
      }
      $scope.$apply(function () {
        unbindHandler();
        $location.url(path).replace();
      });
    }, function () {
    }, errorMes('client.changepage.on.pumping'));
});


function showPopupAlert(type, obj, confirmFunction, rejectFunction, message) {
  if (type != 'confirm') {
    obj.find('#btn-cancel').hide();
  } else {
    obj.find('#btn-cancel').show();
  }

  obj.find('#question').html(message);
  obj.modal('show');

  obj.find('#btn-ok').unbind().bind('click', function () {
    obj.modal('hide');
    if (confirmFunction !== 0) {
      confirmFunction();
    }
  });

  obj.find('#btn-cancel').unbind().bind('click', function () {
    obj.modal('hide');
    if (rejectFunction !== 0) {
      rejectFunction();
    }
  });
}

在Firefox中打开控制台日志,我有一个对象

得到columnnumber

0

数据

null

文件名

"http://192.168.1.102/ser.../libs/atmosphere-min.js"

null

LINENUMBER

635

消息

""

名称

""

结果

2153644038

"J@http://192.168.1.102/s...query/jquery.js:3:4749\n"

Object { toString=toString(), message=undefined, name=undefined}

0 个答案:

没有答案