从父窗口刷新子窗口

时间:2010-10-30 14:45:19

标签: javascript

使用JavaScript

我的父窗口中有刷新按钮,

当我点击刷新按钮时,

我想刷新我的子窗口,

  

window.location.href ='add_billing_order_frm.php?session_re_genrate =新

此代码段重定向页面而不是刷新,

我有一个像

这样的片段
  

opener.document.location.reload(真);

但这一个用于父窗口刷新,但我想要用于URL位置选项的子窗口

function show_billing_order_form(url){
   var childWindow = window.open(url);
}

function refresh_my_child_window(){
   return childWindow.location.reload('add_billing_order_frm.php');
}

要打开一个弹出窗口(子窗口),我使用了show_billing_order_form回调,

要刷新子窗口,我在父窗口中添加一个刷新图标,要刷新子窗口,请在该刷新图标中点击我名为refresh_my_child_window,

但功能刷新我的孩子窗口..

2 个答案:

答案 0 :(得分:6)

从父级打开子窗口时,请记住变量中的返回值:

var childWindow = window.open(/* ... */);

...当你想要刷新孩子的时候:

childWindow.location.reload();

请注意,如果未从same origin加载父级和子级,某些浏览器将阻止访问childWindow.location.reload

这是一个快速而肮脏的示例(live copy - 注意:实时副本仅在非编辑模式下工作,如给定的链接,因为否则JSBin使用null.jsbin.com而不是{{1因为原点不匹配):

HTML:

output.jsbin.com

JavaScript的:

<input type='button' id='btnOpen' value='Open Child'>
<input type='button' id='btnClose' value='Close Child'>
<input type='button' id='btnRefresh' value='Refresh Child'>

警告:我绝不会建议如上所述挂钩具有(function() { var childWindow; document.getElementById('btnOpen').onclick = openChildWindow; document.getElementById('btnClose').onclick = closeChildWindow; document.getElementById('btnRefresh').onclick = refreshChildWindow; function openChildWindow() { if (childWindow) { alert("We already have one open."); } else { childWindow = window.open(location.protocol + "//" + location.host + "/cotokijigu/1"); } } function closeChildWindow() { if (!childWindow) { alert("There is no child window open."); } else { childWindow.close(); childWindow = undefined; } } function refreshChildWindow() { if (!childWindow) { alert("There is no child window open."); } else { childWindow.location.reload(); } } })(); 属性的事件处理程序。相反,我使用onclick(在基于标准的浏览器上)或addEventListener(在IE上),使用库或实用程序函数,如this one。使用上面的属性来避免模糊主要观点。

答案 1 :(得分:0)

var childWindow = window.open("","name",/* .. */);
childWindow.location.reload();