Как закрыть окно браузера в pug / Jade - PullRequest
0 голосов
/ 28 мая 2019

мы осуществляем OAUTH аутентификацию для входа в систему. После нажатия на ссылку из моего приложения оно перенаправляется в браузер, где открывается страница входа. Страница сконфигурирована с использованием Jade / pug и реализована с использованием валидации форм и механизма маршрутизации с использованием Express js.

Но при попытке закрыть окно браузера кнопкой закрытия, появляется сообщение об ошибке ниже:

Scripts may close only the windows that were opened by it

login.jade

 form(name="myForm", action="/login",method="POST",novalidate)
                        divForm
                            divw1
                                .group
                                    input(type='number', required='', name="userid",autocomplete="off", data-required-msg='Username is required')
                                    label Enter User ID
                            divw1
                                .group
                                    input(type='password', required='', name="password")
                                    label Enter Password
                        divButtons
                             input(type="button",value="CANCEL",onClick='onBtnClk()',ID="cancel")
     input(type="submit",value="LOGIN",ID="login") 

login.js

   var express = require('express');
   var router = express.Router();

    router.post('/', '', function(req, res, next) {
        if (req.body.userid === '' && req.body.password === '') {
            // Looks like the user not provided credentials, let's show the ui again...

            res.render('login', {
              error: 'User ID and Password are mandatory'
            });
            return;
          }

    });

layout.jade

function onBtnClk(){
  window.top.close(); //window not closing(Scripts may close only the windows that were opened by it)
}

1 Ответ

0 голосов
/ 28 мая 2019

Эта проблема не в Pug, а в JavaScript API.API позволяет только вашему скрипту закрывать окна, которые были открыты скриптом, см. здесь .

Так что, пока ваше окно не открывается скриптом, вы не сможете закрытьэто означает, что вы должны сообщить пользователю, что вход выполнен успешно, и он может закрыть окно

...