window.close如何以角度关闭当前窗口

时间:2016-06-30 07:50:45

标签: javascript angularjs

嗨,这是我当前的代码,我有弹出窗口,一旦我取消弹出窗口,我必须关闭整个应用程序选项卡,这意味着窗口

<!doctype html>
<html ng-app="plunker">
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.11/angular.js"></script>
    <script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.10.0.js"></script>
    <script src="example.js"></script>
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" rel="stylesheet">
  </head>
  <body>

    <script>
      angular.module('plunker', ['ui.bootstrap']);
      var ModalDemoCtrl = function ($scope, $modal, $log) {

          /* Note: The hard coded user object has been commented out, as 
             it is now passed as an object parameter from the HTML template.
          */
          /* $scope.user = {
              user: 'name',
              password: null
          };*/

          $scope.open = function (user) {
              $scope.user = user;
              $modal.open({
                  templateUrl: 'myModalContent.html',
                  backdrop: true,
                  windowClass: 'modal',
                  controller: function ($scope, $modalInstance, $log, user) {
                      $scope.user = user;
                      $scope.submit = function () {
                          $log.log('Submiting user info.');
                          $log.log(JSON.stringify(user));
                          $modalInstance.dismiss('cancel');
                      }
                      $scope.cancel = function () {
                          $modalInstance.dismiss('cancel');
                         window.open('location', '_self', '');
                        window.close();
                      };
                  },
                  resolve: {
                      user: function () {
                          return $scope.user;
                      }
                  }
              });
          };
      };  
  </script>

  <div ng-controller="ModalDemoCtrl">
      <script type="text/ng-template" id="myModalContent.html">
          <div class="modal-header">
              <h3>I'm a modal!</h3>
          </div>
          <form ng-submit="submit()">
            <div class="modal-body">
              <label>User name</label>
              <input type="text" ng-model="user.user" />
              <label>Password</label>
              <input type="password" ng-model="user.password" />
            </div>
            <div class="modal-footer">
                <button class="btn btn-warning" ng-click="cancel()">Cancel</button>
                <input type="submit" class="btn primary-btn" value="Submit" />
            </div>
          </form>
      </script>

      <button class="btn" ng-click="open({user: 'username', password: 'password'})">Open me!</button>
      <div ng-show="user.password">Got back from modal: {{ user | json}}</div>
  </div>
  </body>
</html>

此代码无法提供任何帮助

window.close()无效

2 个答案:

答案 0 :(得分:0)

$window服务中使用$window.close()

你在询问角度模态。 使用这个

$modalInstance.dismiss('cancel'); or $modalInstance.close();

请阅读此内容以获取更多信息modal

答案 1 :(得分:0)

window.close只关闭应用程序打开的窗口,而不是用户打开的窗口/标签。这意味着当用户访问您的网站时他/她打开窗口而不是您的应用程序。但如果您使用window.open使用javascript打开新窗口,则可以使用window.close关闭。这是出于安全原因而完成的,并且几乎在所有最新的浏览器中都已内置。