如何将现有选项卡聚焦在窗口中? (网页,不是扩展名)

时间:2009-07-09 15:00:01

标签: html focus tabs

我正在尝试在内容重新加载时关注现有标签页。通常的窗口方法似乎不起作用。

以下是发生的事情:在page_1我有一个类似......的链接

<a href="page_2.html" target="page_2">Go to my other page</a>

如果选项卡不存在,单击链接时会打开一个新选项卡并获得焦点。 (完美)

如果您返回page_1并再次单击该链接,则会重新加载现有标签中的内容(完美),但不会聚焦(废话)。我已经尝试了通常的window.focus,$(window).focus方法加载page_2而没有运气。

有什么建议吗?

4 个答案:

答案 0 :(得分:1)

这是不可能的。

答案 1 :(得分:1)

以下似乎适用于IE8和FF13:

<script type="text/javascript">
// Stupid script to force focus to an existing tab when the link is clicked.
// And yes, we do need to open it twice.
function openHelp(a) {
    var tab = window.open(a.href, a.target);
    tab.close();
    tab = window.open(a.href, a.target);
    return false;
}
</script>
<a href="help.html" target="help" onclick="return openHelp(this);">Help</a>

答案 2 :(得分:0)

有一个解决方法。使用javascript在新选项卡中打开一个窗口,存储对该选项卡的引用,以及何时关注它;首先关闭它,然后重新打开它。

if (window.existingWindow != null) 
  try { window.existingWindow.close(); } catch (e) { };
window.existingWindow = window.open("/your/url", "yourTabName");

我们使用类似的方法在我们的名为Handcraft的服务中打开您正在处理的当前页面的预览窗格,其中上述工作按预期工作(我们希望新窗口始终聚焦)。

答案 3 :(得分:-1)

如果不使用框架,您可以在页面底部放置一个脚本块,该脚本块将在页面加载后运行。因为它是在你的HTML之后,你可以确信所引用的HTML实际上是可用的。

脚本可以将焦点设置为您想要的元素。