2016-04-20 5 views
0

На моей странице у меня есть кнопка, которая открывает страницу и записывает в нее фрагмент кода.onbeforeunload не работает на chrome

$("#button").on("click", function(){ 

var x = window.open('', '', 'width=800, height=600'); 

x.document.open().write(something); 
} 

Я хочу запустить функцию в своем родительском окне, чтобы обновить элемент, когда мое дочернее окно закрыто. Я пытался до сих пор использовать:

$("#button").on('click', function(){ 

var x = window.open('', '', 'width=800, height=600'); 

x.onbeforeunload = function(){  
console.log('closed');  
} 

x.document.open().write(something); 

} 

То, что я обнаружил, до сих пор является то, что Chrome мешает мне использовать «onbeforeunload» или какой-либо событие разгрузки.

Итак, если у кого-то есть ответ на вопрос об обходном пути, я буду очень разбираюсь.

UPDATE

Вот скрипка: https://jsfiddle.net/cgckg3zh/

Я также протестировали в Firefox, работает.

+0

создать скрипку, если возможно ... –

+0

Как Chrome препятствует вам? Вы получили сообщение об ошибке? Если да, отправьте сообщение об ошибке. – Taterhead

+0

На самом деле, он ничего не делает. Никакой ошибки, никакого предупреждения, просто ничего. –

ответ

0

У меня была такая же проблема, как пожар на закрывающей странице, но в конце концов я понял, что использование события ненадежно, потому что какой-то браузер не поддерживает его ... наконец-то для моего проекта я использовал signalr для обнаружения закрывающих окон или навигации по странице. Я уверен, что нет никакого события javascript, которое поддерживается всеми основными браузерами.

0

Вот более простой подход.

$(window).on('beforeunload', function() { 
    return "You should keep this page open."; 
}); 

Возвращенный сообщение может быть все, что вы хотите, в том числе пустую строку, если у вас нет ничего, чтобы добавить к сообщению, что Chrome уже показывает. Результат выглядит следующим образом:

enter image description here

Надеется, что это поможет вам :)

+0

Проблема заключается в том, что мне нужно делать вещи в родительском, когда дочернее окно закрывается. Я не вижу, как это может мне помочь. –

+0

просто добавьте свой нерабочий код для скрипки ... –

+0

сделал u try => x.onunload = function() { console.log ('closed'); } –