0

У меня есть функция в родительском iframe.Родительский iframe не перезагружается при закрытии всплывающего окна

var reloadFrameWindow = function() { 
    "use strict"; 
    var doc, myFrame, keyElem, url; 
    doc = document; 
    myFrame = doc.getElementById("myFrame"); 
    keyElem = doc.getElementById("key"); 
    if (myFrame && keyElem) { 
     keyElem.value = keyElem.value + "X"; 
     url = myFrame.src; 
     url = updateQueryStringParameter(url, "key", keyElem.value); 
     jQuery.ajax({ 
      type: "GET", 
      url: url, 
      success: function() { 
       myFrame.src = newUrl; 
      } 
     }); 
    } 
}; 

В моей всплывал я добавил

window.onbeforeunload = function() { 
    "use strict"; 
    window.opener.reloadFrameWindow(); 
}; 
  1. Если закрыть его на IE11, 8 родительский IFrame получает перезагружается.
  2. Если я закрываю его на chrome, он не перезагружает родительский iframe, но значение ключа в обоих случаях увеличивается на 1.

Примечание: Я хочу, чтобы это срабатывало только при закрытии, а не при нажатии кнопки «Назад». Но я бы не возражал, если это происходит в обоих случаях

+0

'onbeforeunload' очень ограничительной в отношении того, что разрешено и отличается браузер браузера , Вы не можете управлять щелчком мыши по кнопке «против», иначе вы можете выгрузить окно. Это все или ничего – charlietfl

+0

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

ответ

0

на самом деле я обнаружил, что делает это в хроме работает ..

jQuery.ajax({ 
       type: 'GET', 
       url: newUrl, 
       success: function() { 
        myFrame.src = newUrl; 
       } 
      }); 
Смежные вопросы