我正在使用 javascript window.opener属性来刷新子窗口中的父窗口。
父窗口只包含一个包含数据的表和一个到子窗口的链接,当子窗口打开时,使用window.opener属性在父窗口中执行一个 js 函数,父窗口中的 js 函数使用 ajax 刷新表。
问题出在window.opener因为当用户使用右键单击(上下文菜单)打开链接时为 NULL。
例子:
父.jsp
<html>
<head>
<script type="text/javascript">
function refreshTable() {
// ajax code to refresh the #theTable table, not important for this question
}
</script>
</head>
<body>
<a href="/folder/child.jsp" target="_blank">OpenChild</a>
<table id="theTable">
<tr>
<td>...</td>
</tr>
</table>
</body>
</html>
子.jsp
<html>
<head>
<script type="text/javascript">
$(document).ready( function() {
// opener is NULL when child is opened with right click
window.opener.refreshTable();
});
</script>
</head>
<body>
...
</body>
</html>