检查一个窗口是否以angularjs

时间:2016-10-19 15:37:19

标签: angularjs angularjs-scope

我需要检查一个窗口是否关闭。 这是我的例子,

我通过调用此函数

打开了一个新窗口
$scope.openwind= function(){
    $scope.popupWindow = $window.open("index.html#/channelintegration", "SOme Title", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no');
}

然后我一直在检查打开的窗口(popupWindow)是否关闭,通过单击按钮调用以下功能,

$scope.checkmywindow=function(){
    console.log($scope.popupWindow);
    console.log($scope.popupWindow.closed);
}

现在,我需要检查窗口(popupWindow)是否关闭,没有按钮触发器。

请帮忙...谢谢..

2 个答案:

答案 0 :(得分:0)

您可以通过在范围变量中使用window is opened or not函数来检查window.open是否正确,并使用范围进行检查。

$scope.openwind= function(){
    $scope.popupWindow = $window.open("index.html#/channelintegration", "SOme Title", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no');
}

$scope.closewind= function(){
    if ($scope.popupWindow) {
          $scope.popupWindow.close();
      }
    // code for closing goes here

}

$scope.checkmywindow=function(){
    if (!$scope.popupWindow) {
        document.getElementById("msg").innerHTML = "'$scope.popupWindow' has never been opened!";
    } else {
        if ($scope.popupWindow.closed) {
            document.getElementById("msg").innerHTML = "'$scope.popupWindow' has been closed!";
        } else {
            document.getElementById("msg").innerHTML = "'$scope.popupWindow' has Opened!";
        }
    }
}

Check this link and implement

答案 1 :(得分:0)

@Sravan,谢谢你的回答..这对于做更多事情确实有很大的帮助..现在我使用下面的代码自动检查窗口是否关闭,使用角度的$ interval服务。 这将根据窗口的当前状态(popupWindow)自动每秒更新一个范围变量(windowstatus)..

AND tsdate BETWEEN TO_DATE('09-oct-2016', 'dd-MON-yyyy') AND TO_DATE('22-oct-2016', 'dd-MON-yyyy')