Отключить событие OnBeforeUnload: как отправить Javascript в междоменный фрейм? - PullRequest
0 голосов
/ 06 декабря 2010

Я хочу сделать что-то очень простое.Я имею в виду сайт через Iframe.

В iframe есть функция с вызовом "onBeforeUnload".Я хочу отключить перед выгрузкой в ​​iframe с моей родительской страницы.

Я выяснил, как это сделать в том же домене и на той же странице.Тем не менее, как я могу сделать это для междоменного домена?

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

<iframe src="http://www.domain.com" width="100%" height="500" id="iframe"></iframe> 

<script type="text/javascript">

 $(document).ready(function () {

 $('#iframe').load( function() {
      alert('Load was performed.'); 
    document.getElementById('iframe').contentWindow.window.onbeforeunload=null; 
//NOTE: DOESN'T WORK CROSS DOMAIN! 
    });

    window.onbeforeunload=null  //Disables onbeforeunload event on THIS page so long as it is AFTER the original onbeforeunload event

    });

</script>

Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

Если значение параметра innerhtml содержащего div элемента iframe равно пустой строке в событии onbeforeunload главной страницы, предупреждение будет остановлено. использование onbeforeunload главной страницы, поскольку при выходе из страницы не используется iframe.

0 голосов
/ 07 декабря 2010

Это просто невозможно из-за одной и той же политики происхождения, если только у вас на самом деле не работает собственный код в iframe.

В этом случае вы можете использовать easyXDM для этого - но если это былослучай, вы бы просто удалили обработчик прямо, верно?

...