我可以让浏览器专注于这些链接

时间:2013-11-08 19:19:31

标签: javascript jquery css

Fiddo

这些链接在新标签页中打开,但如果您返回小提琴并单击其他链接,则浏览器不会将您的视图切换到该标签。它将“酷”标签重新加载到另一个链接,但我希望浏览器专注于新标签。

<a href="http://www.google.com/" target="cool">google</a>
<a href="http://www.yahoo.com" target="cool">yahoo</a>

1 个答案:

答案 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无法访问其他窗口的属性。