从孩子链接,维护父母参考

时间:2017-09-23 14:17:13

标签: javascript arrays boolean parent

我遇到了来自子元素的链接之间关系的问题,而他们却失去了从父框架更新的能力。我正在利用此代码调用参考文档;

function Open_Ref() {
X = (screen.width - 900) / 2;
Y = (screen.height - 700) / 2;
settings = 'resizable=yes,scrollbars=yes,height=700,width=900,top=' + Y + ',left=' + X;
theURL = '../dir/foo.htm#' + parent.MAIN.frame_id;
Ref_Window = window.open(theURL, 'Ref', settings);
Ref_Window.focus();
Ref_Window.moveTo(X, Y);
}

function Refresh_Ref() {
theURL = '../dir/foo.htm#' + parent.MAIN.frame_id;
if (Ref_Window != null) {
Ref_Window.updateRef(parent.MAIN.frame_id);
}

这将打开引用窗口,在该引用中,它包含代码以便从父框架更新帧引用;

function updateRef(frame){
        window.location.hash=frame;
}

主框架调用包含一个调用更新的setTimeout函数;

setTimeout("Refresh_Ref()",1000);

这一切都正常,并且当parent.MAIN的框架被导航时,子项更新到适当的框架。我的问题是我有多个"个性化的"引用,从引用窗口链接(基本上是原始引用子代的重复),让我们调用它们,foo1.htm,foo2.htm等,当访问它们时,它们将失去更新到框架的能力父级,即使您导航回foo.htm文件。

我意识到原来的Open_Ref()函数只调出这个文件,但是,我试图添加多个函数,但它似乎不起作用。

任何想法,可能会使用布尔语句来检查在运行函数之前打开哪个foo.htm文件?

1 个答案:

答案 0 :(得分:0)

很抱歉这个混乱。因此,在另一位本地脚本编写者的帮助下,我们昨天能够解决这个问题。要回答您的问题,此时只打开两个窗口,一个父窗口(一个课程指南)和一个子窗口(参考指南),当您导航父课程框架时,孩子需要刷新以将框架更新为页面顶部。现在,当我们选择一个单独的(个性化)参考窗口时会出现问题,该窗口会在当前帧(window.replace)中更新。

我们遇到的问题是,当你离开孩子时,身体标签中有一个onunload方法取消了对孩子的注意力。一旦我们删除了onunload标记,它就会保留父节点的焦点,以便能够继续运行Refresh_Ref()函数。它确实抛出了一个错误,因为该函数也在寻找一个空窗口,所以当你关闭引用窗口时脚本会出错。为了缓解这种情况,我们创建了一个catch来捕获错误并使窗口无效。

不用担心!谢谢你的帮助!!

相关问题