我正在一个具有三个框架的网站上工作。框架集中名为 topFrame、mainFrame、bottomFrame 的顶部框架、主框架和底部框架。没有什么不寻常的。
在 mainFrame 中工作时,我有一个名为 view.html 的页面,其中包含一个名为 refresh_status() 的函数。
它看起来像这样:
function refresh_status() {
alert ("inside of refresh status function");
// do stuff
}
此外,从这个页面(view.html),我只是弹出(从链接)一个新的子窗口,如下所示:
链接看起来像这样......
<a href="javascript:popUpstatus('status.html')">Update</a>
弹出打开新窗口的功能....
function popUpstatus(URL) {
status = window.open(URL, 'status','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=670,height=600');
}
status.html 文件会在新的子窗口中正常弹出打开。在子窗口中,我有一个链接,我试图从中触发父窗口 (view.html) 中的 refresh_status() 函数。
在子弹出窗口(status.html)中,这是链接....
<a name="select_anchor" href="#">Refresh</a>
status.html 中的 javascript 看起来像这样....
<script type="text/javascript">
function new_status() {
window.opener.refresh_status();
}
$(document).ready(function() {
$("a[name='select_anchor']").click(new_status());
});
</script>
IE8 将在父窗口中触发 refresh_status() 函数并按预期触发警报,但是 Firefox 抱怨并说 window.opener.refresh_status() 不是一个函数。有任何想法吗?