【问题标题】:Javascript & html: Is there a way to find a top level named window(or tab) and bring it to foreground instead of loading url into it?Javascript & html:有没有办法找到一个名为窗口(或选项卡)的顶级窗口(或选项卡)并将其带到前台而不是将 url 加载到其中?
【发布时间】:2015-02-22 18:00:34
【问题描述】:

我们知道,单击<a href='a.html' target='abc'>...</a> 会将a.html 加载到名为abc 的窗口中。

但是如果abc 窗口已经存在,而我只是想把它带到前台而不是再次加载a.html,有没有办法做到这一点?

非常感谢。

【问题讨论】:

  • 你有没有尝试过?像abc.focus() 这样明显的东西?
  • var w = window.open('', 'abc', null); if (w) w.focus(); 经过一番测试,我发现chrome,opera运行良好, w.focus() 将其置于前台,而firefox可以获取命名窗口的句柄但无法将其置于前台,而IE调试器在处理这行代码时只是说“访问被拒绝”

标签: javascript html


【解决方案1】:

某些浏览器(FF 和 IE)会阻止焦点行为,因为它(曾经)被滥用于弹出式垃圾邮件。可以通过安全设置开启,但由于默认关闭,所以对焦方式不可靠。

这是一个老问题。这是对 2006 年相同问题的讨论!

http://bytes.com/topic/javascript/answers/482500-popup-focus-behaviour-moz-firefox-ie

解决方法是关闭并重新打开这些浏览器的窗口弹出窗口。

请看这里: How to focus on JS popups in Firefox & IE?

PS。通常建议您不要以编程方式重新调整弹出窗口的焦点。如果您需要执行此类操作,弹出窗口可能不是该任务的最佳选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-04
    • 2011-03-30
    • 2015-07-26
    • 1970-01-01
    • 2020-04-10
    • 2011-03-17
    • 2018-05-04
    • 1970-01-01
    相关资源
    最近更新 更多