![](/img/trans.png)
[英]window.location.reload(true) reloads page but page needs refreshing to show changes
[英]top.opener.location.reload(true) not refreshing parent page on IE
我有两个页面,父页面,我正在使用此页面:
window.open('OrderDetailsFull.aspx?ObjectID=' + ObjectID[1] , "TableDetails","status=0 , toolbar=0 , location=no , menubar=0 , scrollbars=yes , height=600px , width=800px");
打开一个新窗口并在那里操作数据。
完成工作后,我需要刷新父页面,以便在其中获取新的数据。
从我所知道的方法是:
top.opener.location.reload(true);
但由于某种原因,它无法在IE8或IE9中运行...
在构建应用程序而不是常规网页时。 它可以在带有IE的Windows OS上运行(因为到目前为止,它仍然是最常见的系统...对此无能为力),所以我真的需要解决此问题。
对于这个问题,我在网络上找不到任何新的解决方案,每个人都说它应该那样工作.....
有没有人遇到这个问题? 有人知道如何解决吗?
好吧, opener.location.reload(true);
问题:当我做opener.location.reload(true);
是否重新呈现父页面(听起来)? 如果是这样,那么我就遇到了大问题,如果不是,那么必须有一种方法可以做到……
问题是我在父页面中有一个ajax调用,由于某种原因,当我使用它时它会保留在旧值中,只有当我重新加载子窗口时,父ajax才会显示实际结果,下面是一些代码。 。
这是在打开页面的文档准备好的jQuery函数中:
$('div[id^="divTable"]').hover(
function(e){
//קבלת זהות השולחן הנלחץ
ObjectID = $(this).attr('id').split('_');
$(this).css("cursor","pointer");
//AJAX הבאת נתוני רשומת ההזמנה מהשרת ב
var OrderDetails = $.ajax({
url:'AjaxActions/OrderDetails.aspx?ObjectID=' + ObjectID[1],
async:false
}).responseText;
//צף מעל שולחן כשעומדים עליו, ניתן לראות את פרטי הרשומה של אותו השולחן DIV
$(this).append($('<div style="position: absolute; top: 0; left: -150;">' + OrderDetails + '</div>'));
//וידוא שהשולחן עליו אנו עומדים יהיה העליון
$(this).css("z-index","10");
$(this).siblings().css("z-index","1");
},
//כשיוצאים מהשולחן DIVהעלמת ה
function () {
$(this).find('div:last').remove()
}
);
这是子窗口中应刷新打开器的功能之一:
$('#ctrl_Print').click(
function()
{
alert($('#hidItem').val());
var Items = new Array();
Items = $('#hidItem').val().split(',');
for(var i=0;i<Items.length;i++)
{
alert(Items[i]);
}
opener.location.reload(true);
window.location = 'OrderDetailsFull.aspx?OrderID=' + OrderID + '&ObjectID=' + ObjectID + '&Print=' + Items;
window.close();
}
);
10倍...
IE 8和9似乎在刷新打开器时具有安全限制。
我遇到了这个问题,其中reload()在Chrome中有效,但在IE中却很糟糕。
尝试使用window.location.replace(此处为您的网址和参数)。
您必须收集url和params()的参数,但是它会绕过IE错误消息。
例:
在Joomla 2.5中,父窗口会为用户输入启动模式,在这里我们需要重新加载父窗口(视图)才能运行使用模式输入的代码。
模态在父窗口中触发一个函数,例如;
function updateAddresses(runUpdate, itemID, closeModal){
if(closeModal == true ){
SqueezeBox.close();
}
if(runUpdate == true){
//location.reload();
var replaceURL = 'index.php?option=com_poecom&view=cart&ItemId='+itemID;
window.location.replace(replaceURL);
}
}
如果要访问父窗口(或框架),则应使用parent
而不是top
:
parent.location.reload(true);
当页面是该窗口内的框架时,请向其添加更多parent
:
parent.parent.location.reload(true);
top
在处理框架集和/或iframe时用于在当前物理窗口中获取最外面的文档,并且与window.open
无关,因此,除非有任何框架或iframe,否则不应该使用top
您的弹出页面。 将执行以下操作:
opener.location.reload(true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.