从子链接,维护父引用
Linking from child, maintaining parent reference
我对从子元素跟随的链接之间的关系有问题,而它们失去了从父框架更新的能力。我正在使用此代码调用参考文档;
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);
}
这将打开引用 window,并且在该引用中,它包含用于从父框架更新框架引用的代码;
function updateRef(frame){
window.location.hash=frame;
}
主框架调用包含调用更新的setTimeout函数;
setTimeout("Refresh_Ref()",1000);
这一切工作正常,并且随着 parent.MAIN 的框架被导航,子项更新到适当的框架。我的问题是我有多个 "personalized" 引用,从引用 window 链接(基本上是原始引用子项的副本),我们称它们为 foo1.htm、foo2.htm 等,当访问这些文件时,它们将失去更新到父框架的能力,即使您导航回 foo.htm 文件也是如此。
我知道原来的Open_Ref()函数只调用了这个文件,但是,我试图在其中添加多个函数,但似乎没有用。
任何想法,可能利用布尔语句来检查在 运行 函数之前打开了哪个 foo.htm 文件?
抱歉造成混淆。因此,在另一位本地脚本编写者的帮助下,我们昨天能够解决这个问题。为回答您的问题,目前只有两个 windows 打开,一个 parent(课程指南)和一个 child window(参考指南),在您导航时parent 课程框架,child 需要刷新以将框架更新到页面顶部。现在,当我们选择一个将在当前帧 (window.replace) 中更新的单独(个性化)参考 window 时,问题就出现了。
我们遇到的问题是,当您离开 child 时,body 标记中的 onunload 方法会取消对 child 的焦点。一旦我们删除了那个 onunload 标签,它就保持了 parent 的焦点,因此它能够继续 运行 Refresh_Ref() 函数。它确实抛出了错误,因为该函数也在寻找空值 window,因此当您关闭引用 window 时,脚本会出错。为了缓解这种情况,我们创建了一个 catch 来捕获错误并将 window 清空。
不用担心!感谢您的协助!!
我对从子元素跟随的链接之间的关系有问题,而它们失去了从父框架更新的能力。我正在使用此代码调用参考文档;
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);
}
这将打开引用 window,并且在该引用中,它包含用于从父框架更新框架引用的代码;
function updateRef(frame){
window.location.hash=frame;
}
主框架调用包含调用更新的setTimeout函数;
setTimeout("Refresh_Ref()",1000);
这一切工作正常,并且随着 parent.MAIN 的框架被导航,子项更新到适当的框架。我的问题是我有多个 "personalized" 引用,从引用 window 链接(基本上是原始引用子项的副本),我们称它们为 foo1.htm、foo2.htm 等,当访问这些文件时,它们将失去更新到父框架的能力,即使您导航回 foo.htm 文件也是如此。
我知道原来的Open_Ref()函数只调用了这个文件,但是,我试图在其中添加多个函数,但似乎没有用。
任何想法,可能利用布尔语句来检查在 运行 函数之前打开了哪个 foo.htm 文件?
抱歉造成混淆。因此,在另一位本地脚本编写者的帮助下,我们昨天能够解决这个问题。为回答您的问题,目前只有两个 windows 打开,一个 parent(课程指南)和一个 child window(参考指南),在您导航时parent 课程框架,child 需要刷新以将框架更新到页面顶部。现在,当我们选择一个将在当前帧 (window.replace) 中更新的单独(个性化)参考 window 时,问题就出现了。
我们遇到的问题是,当您离开 child 时,body 标记中的 onunload 方法会取消对 child 的焦点。一旦我们删除了那个 onunload 标签,它就保持了 parent 的焦点,因此它能够继续 运行 Refresh_Ref() 函数。它确实抛出了错误,因为该函数也在寻找空值 window,因此当您关闭引用 window 时,脚本会出错。为了缓解这种情况,我们创建了一个 catch 来捕获错误并将 window 清空。
不用担心!感谢您的协助!!