【问题标题】:Javascript/JQuery: focus the popup window if already opened but not to reload itJavascript/JQuery:如果已经打开,则关注弹出窗口但不重新加载它
【发布时间】:2014-04-08 11:17:25
【问题描述】:

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

但问题是在焦点到之前打开的弹出窗口后,无法阻止重新加载它,它会丢失上面的数据。

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

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

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    也许它符合您的需求:

    DEMO

    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();
    });
    

    【讨论】:

    • 谢谢让我检查一下
    • 感谢您的帮助。当我检查它时,这种方式在 FF 中可以正常工作,但在 IE8 浏览器中不行。在 IE 中,它只是突出显示菜单中现有的弹出窗口,但不能集中它。你能帮我更多吗?
    • 不确定 IE8 是如何处理的。也许这在 IE8 中是不可能的。现在只是为了确定,我会像这样测试它:setTimeout(function(){popup.focus();},1000); 看看这是否有什么不同。编辑:刚刚在 IE8 (win7) 中测试并为我工作。
    • 在我的 IE8 (win7) 中仍然有问题 setTimeout(function(){popup.focus();},1000);。我也会检查其他 IE9 和 IE10 版本。无论如何,非常感谢您的帮助!
    • 小提琴好像被删了……?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多