我正在寻找一种方法来更改浏览器状态栏中的链接,类似于谷歌和雅虎用来显示搜索结果的方式。这是我的示例代码
<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)?
非常感谢。
答案 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;
});
});
好的尝试一下,抱歉我误解了这个问题。