Window.close() перестала работать после обновления до Django 4
Я обновил пакеты в своем проекте до последней версии, и при тестировании в Firefox столкнулся с тем, что window.open()
присвоенная переменная возвращает Object
- отладил с помощью кода ниже:
let test = window.open($(e.currentTarget).attr('href'), '_blank', "height=640,width=480,toolbar=0,location=0,menubar=0");
console.log(test);
Когда я закрываю тест (этот объект) с помощью .close()
(test.close()
), он работает просто отлично, но после обновления пакетов (django 3 до 4 версии) он перестал работать, и переменная test
возвращает Window
, а не Object
.
Я не совсем понимаю, почему это работает именно так, неужели Django 4 устанавливает какие-то пользовательские заголовки, из-за которых механизм закрытия window
не работает должным образом? Как я должен это исправить?
Оки, я знаю, как Django влияет на это.
Это происходит потому, что контекст браузера не установлен, и причиной тому являются новые функции безопасности. Чтобы отключить это, установите переменную SECURE_CROSS_ORIGIN_OPENER_POLICY
в значение None
.