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; 
       } 
      });