这些链接在新标签页中打开,但如果您返回小提琴并单击其他链接,则浏览器不会将您的视图切换到该标签。它将“酷”标签重新加载到另一个链接,但我希望浏览器专注于新标签。
<a href="http://www.google.com/" target="cool">google</a>
<a href="http://www.yahoo.com" target="cool">yahoo</a>
答案 0 :(得分:0)
为了引用另一个窗口,您需要将其引用保存在变量中。获得该引用后,可以使用window
对象函数对其进行操作。例如:
<!DOCTYPE html>
<html>
<head>
<title>Focus tab test</title>
<meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
$(document).ready(function() {
var cool;
$("a").click(function(){
event.preventDefault();
if (typeof cool === "undefined") {
cool = window.open(this.href, "cool");
} else {
cool.close();
cool = window.open(this.href, "cool");
}
});
});
</script>
</head>
<body>
<a href="http://www.microsoft.com/">microsoft</a>
<a href="http://www.yahoo.com">yahoo</a></body>
</html>
请注意,我无法将其设为jsFiddle,因为它们会阻止您在其框架中打开标签。还要注意我必须销毁旧窗口并打开一个新窗口,而不是更新location.href属性并设置其焦点。这是因为除非协议(http),主机名和端口都匹配,否则JS无法访问其他窗口的属性。