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'是非常嚴格的關於什麼是允許的,不同的瀏覽器到瀏覽器。你不能控制用戶點擊返回按鈕vs其他方式窗口可以卸載。這是全部或沒有 – charlietfl

+0

當然,我會採取一切然後沒有,但是這並不能解釋爲什麼關鍵元素值是改變,但父窗口永遠不會重新加載。 –

回答

0

其實我發現,在鉻做這個工程..

jQuery.ajax({ 
       type: 'GET', 
       url: newUrl, 
       success: function() { 
        myFrame.src = newUrl; 
       } 
      });