window.onbeforeunload在进入页面时触发

时间:2015-06-08 12:11:08

标签: javascript angularjs

$scope.saveStats = function () {
  $http({
    method: "post",
    url: "save.php",
    data: $scope.info
  }).success(function () {
    console.log($scope.info);
  })
};

window.onbeforeunload = $scope.saveStats();

此代码没有按照我的预期执行。它只是在加载页面时触发saveStats()。当我退出页面时,它不会触发saveStats()

我在角度控制器中写了这个。 我对结果很困惑......

2 个答案:

答案 0 :(得分:4)

window.onbeforeunload = $scope.saveStats();
                                        ^^^

()添加到saveStats的末尾,即可立即执行功能。您要做的是将saveStats的引用传递给onbeforeunload,如下所示:

window.onbeforeunload = $scope.saveStats;

答案 1 :(得分:0)

试试这个:

 window.onbeforeunload = $scope.saveStats;

您只是试图通过引用传递函数,而不是执行它,因此删除触发该函数的双括号。