我有一个网页,其中包含四个链接,每个链接打开一个弹出窗口。我使用的是常见的JavaScript函数来打开弹出式窗口,下面如何将焦点设置到子窗口而不刷新它?
function OpenPopup(pageURL, title,w,h) {
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
var targetWin = window.open (pageURL, title, 'toolbar=no, location=no,
directories=no, status=no, menubar=no, scrollbars=Yes, resizable=no,
copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
targetWin.focus();
}
给出当我点击一个链接它会打开一个弹出窗口,其中包含一个数据输入形式,我输入了一些信息转换成表格。然后我需要查看其他弹出窗口中的其他信息,所以我回到我的主窗口,单击另一个链接,一个新的弹出窗口将打开,其中包含我需要查看的信息。我得到信息并关闭了这个弹出窗口,所以现在我在我的主窗口上,然后再次点击该数据输入窗体的链接,所以弹出窗口出现了,但是我输入了我输入的信息,这是因为我再次打开弹出式窗口,新的弹出式窗口将用相同的名称替换现有的弹出式窗口。
现在我的问题是:
是他们的任何方式,我可以检查出是否弹出窗口已经从父窗口打开?
如果弹出窗口已经打开,我怎样才能将焦点设置到它,而不是重新加载它?
如何从父窗口引用子窗口,而不需要通过子窗口的名称存在子窗口的对象?
即使在刷新父窗口之后,是否可以从父窗口引用子窗口?
我的建议是完全跳过弹出窗口。大多数浏览器会阻止它们,假设它们是广告。无论如何,它们都是糟糕的设计。在应用程序中显示/隐藏div,向下滑动这些表单的其余内容。 – HyderA 2011-05-17 14:42:21