更改状态栏中的链接

时间:2014-03-14 14:32:08

标签: javascript jquery html statusbar

我正在寻找一种方法来更改浏览器状态栏中的链接,类似于谷歌和雅虎用来显示搜索结果的方式。这是我的示例代码

<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
 </head>
<body>

<script type="text/javascript">
$(document).ready(function() {
  $('a').attr('orig_href', function() { return $(this).attr('href') })
    .attr('href', 'http://www.google.com')
    .click(function() {
        window.location.href = $(this).attr('orig_href');
        return false;
    });
});
</script>

  <p id="hello">Hello World</p>

  <div><a href="http://www.stackoverflow.com/">Link 2</a></div>
  <div><a href="http://meta.stackoverflow.com/">Link 3</a></div>
</body>
 </html>

当鼠标悬停在链接上时,状态栏始终为http://www.google.com。但是,这不是真正的网址。当我们左键单击链接时,浏览器将显示真正的URL(例如,stackoverflow.com)。这就是我的预期。

问题是,当我们右键单击并将链接打开到新标签页时,浏览器会将我们带到错误的网址,即google.com。

有没有人能指出应该做什么,以便在新标签页中打开时,它会转到真正的网址(stackoverflow.com)?

非常感谢。

3 个答案:

答案 0 :(得分:1)

试试这个:

<a href="http://meta.stackoverflow.com/" onmouseover="$(this).attr('href', 'http://www.google.com')" onmousedown="$(this).attr('href', 'http://meta.stackoverflow.com/')">Link 4</a>

也许不是最好的解决方案,但这项工作(不幸的是不在JSfiddle上)。

答案 1 :(得分:0)

为什么需要JQuery来覆盖href属性?删除脚本标签,你应该好好去!

答案 2 :(得分:0)

$(document).ready(function() {
  $('a').attr('orig_href', function() { return $(this).attr('href') })
    .attr('href', 'http://www.google.com')
    .mousedown(function() {
        $(this).attr('href', $(this).attr('orig_href'));
        return false;
    });
});

好的尝试一下,抱歉我误解了这个问题。