我正在尝试在内容重新加载时关注现有标签页。通常的窗口方法似乎不起作用。
以下是发生的事情:在page_1
我有一个类似......的链接
<a href="page_2.html" target="page_2">Go to my other page</a>
如果选项卡不存在,单击链接时会打开一个新选项卡并获得焦点。 (完美)
如果您返回page_1
并再次单击该链接,则会重新加载现有标签中的内容(完美),但不会聚焦(废话)。我已经尝试了通常的window.focus,$(window).focus方法加载page_2
而没有运气。
有什么建议吗?
答案 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实际上是可用的。
脚本可以将焦点设置为您想要的元素。