Как закрыть вкладку браузера после выполнения Python?

У меня есть веб-приложение, в котором мне нужно открыть новую вкладку, запустить Python, а затем закрыть вкладку. Причина, по которой я делаю это таким образом, а не перенаправляю на предыдущую страницу, заключается в том, что пользователи хотели бы сохранить фильтры поиска.

Я использую Firefox для тестирования, и я знаю, что Javascript не закроет окно, если оно не было открыто с помощью Javascript; очевидно, то же самое происходит, если я запускаю какие-либо функции Python, потому что кнопка "отмена" на той же вкладке работает без проблем.

То, что я пробовал:

  1. using HttpResponseRedirect to redirect to a new page with a "close" button that runs a Javascript function to close - the function is definitely being called (I can prove this with a window.alert) but the "window.close()" line gets ignored (no errors or anything, it simply does nothing).
  2. using HttpResponse to return 'window.close()' in the Python code - again, if I change it to a window.alert, I can prove the script is running, but again, the 'window.close()' is completely ignored.
  3. adding a window.close() function to the Submit button - this only works if I run it before the "submit", in which case the tab will close, but the "submit" will not happen.

Есть ли какое-нибудь обходное решение для этого? Заставлять пользователей вручную закрывать новую вкладку с помощью кнопки X кажется таким неприятным способом, а это, кажется, должно быть так просто сделать.

Вернуться на верх