Я хочу знать, как горячо обнаруживать событие закрытия всплывающего окна. Когда я автоматически вызываю событие закрытия всплывающего окна, я использую событие .close.
function start() {
$.ajax({
type: "post",
dataType: "html",
url: 'client_get',
crossDomain: true,
data: {
'id': '123'
},
success: function(response) {
try {
var json = JSON.parse(response);
} catch (err) {
start();
}
jQuery(document).ready(function($) {
var close_interval = setInterval(function() {
var newwindow = window.open('https://www.example.com/key?v=' + json[0]['url'], 'key', 'width=800,height=600,status=0,toolbar=0');
if (newwindow.close) {
console.info("Closed");
clearInterval(close_interval);
}
}, 1000);
});
}
});
}
#sebpiq я пробовал этот код, у меня тоже не работает ..
Я бы начал с тестирования без вызова ajax, чтобы вы могли лучше изолировать проблему. Немного очистите свой код, попробуйте только всплывающую часть.
Да, я проверил, что изменение URL-адреса не является ошибкой в одном URL-адресе, он также показывает закрытый .... Этот код .close не работает
Я пытаюсь не открывать его, есть ли способ сделать то же самое со всплывающим окном?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Для захвата события закрытия окна требуется обработчик событий onbeforeunload:
var new_window = window.open('some url')
new_window.onbeforeunload = function(){ my code}
так что в вашем случае:
function start() {
$.ajax({
type: "post",
dataType: "html",
url: 'client_get',
crossDomain: true,
data: {
'id': '123'
},
success: function (response) {
try {
var json = JSON.parse(response);
} catch (err) {
start();
}
jQuery(document).ready(function ($) {
var close_interval = setInterval(function () {
var newwindow = window.open('https://www.example.com/key?v=' + json[0]['url'], 'key', 'width=800,height=600,status=0,toolbar=0');
newwindow.onload = function() {
newwindow.onbeforeunload = function() {
console.info("Closed");
clearInterval(close_interval);
}
}
}, 1000);
});
}
});
}
Возможный дубликат Захватить событие закрытия всплывающего окна в JavaScript