Javascript/JQuery:如果弹出窗口已经打开,则将其聚焦,但不要重新加载

Javascript/JQuery:如果弹出窗口已经打开,则将其聚焦,但不要重新加载,javascript,jquery,Javascript,Jquery,使用以下代码打开并聚焦窗口弹出窗口,除非它尚未打开。它很好用 但问题是,在聚焦到上一个打开的弹出窗口后,无法阻止重新加载该窗口,从而导致其上的数据丢失 那么,当再次单击链接时,如何防止现有窗口不重新加载以保留现有数据呢 window.open(url,"searchPatron","height=600,width=1000, status=yes,toolbar=no,menubar=no,location=no").focus(); 也许它适合你的需要: 谢谢让我查一下谢谢你的帮助。当我

使用以下代码打开并聚焦窗口弹出窗口,除非它尚未打开。它很好用

但问题是,在聚焦到上一个打开的弹出窗口后,无法阻止重新加载该窗口,从而导致其上的数据丢失

那么,当再次单击链接时,如何防止现有窗口不重新加载以保留现有数据呢

window.open(url,"searchPatron","height=600,width=1000, status=yes,toolbar=no,menubar=no,location=no").focus();

也许它适合你的需要:


谢谢让我查一下谢谢你的帮助。当我检查它时,这种方式在FF中可以正常工作,但在IE8浏览器中不行。在IE中,它只是突出显示菜单中现有的弹出窗口,但不能聚焦它。你能帮我更多吗?不知道IE8是怎么处理的。也许这在IE8中是不可能的。现在,为了确定,我会这样测试它:
setTimeout(function(){popup.focus();},1000)看看这是否有什么不同。编辑:刚刚在IE8(win7)中测试过,适合我。我的IE8(win7)在
setTimeout(function(){popup.focus();},1000)方面仍然存在问题。我也会检查其他IE9和IE10版本。无论如何,非常感谢你的帮助!小提琴好像被删除了。。。?
window['windows'] = {};
var url = "//testit.com";
$('button').click(function () {
    var popup =  window['windows'][url]? window['windows'][url]:
    window['windows'][url] = window.open(url, "searchPatron", "height=600,width=1000, status=yes,toolbar=no,menubar=no,location=no");
    popup.focus();
});