我有一个简单的问题,如何在浏览器的状态栏中隐藏链接。
我试过这个:
<a href="http://www.sell.com/?referrer=225"
onMouseOver="window.status='http://www.sell.com';
return true" onMouseOut="window.status=''">Click here</a>
(取自教程) 但它不起作用,如果有人会帮助我,我会很开心! ; - )
答案 0 :(得分:11)
你不能(至少在目前的浏览器中),这是一件好事。这将有助于网络钓鱼攻击大量伪装链接。
答案 1 :(得分:2)
由于您要求隐藏联属链接,因此可能有更好的方法。
在广泛的$("a.out")
选择器下循环遍历所有链接更有意义,然后获取并将其真正的href存储到元素存储中,将其替换为虚拟存储(以及title属性,如果你必须)。
然后附加一个单击事件处理程序来停止默认事件,读取原始href并将其设置为location.href,有效地伪装指向所有启用了js的链接。
例如mootools中的代码:
(function() {
var links = document.getElements("a.out");
links.each(function(el) {
// save original
el.store("href", el.get("href"));
// replace it.
el.set("href", el.get("data-link"));
el.addEvents({
click: function(e) {
e.stop();
// console.log(e);
document.location.href = this.retrieve("href");
},
contextmenu: function(e) {
e.stop();
// do something on right click so we dont get caught
alert("hi");
}
});
});
})();
这个标记的效果很好:
<a href="http://www.energyhelpline.com/energy/rg_home.aspx?aid=107" rel="nofollow" class="out" title="Enegry savings" data-link="http://www.energyhelpline.com/">Swap Energy Provider</a><br />
<a href="http://www.moneysupermarket.com/link.asp?Source=MSE&Section=utils" rel="nofollow" class="out" title="Money supermarket" data-link="http://www.moneysupermarket.com/">Money Supermarket</a>
使用包含我们向最终用户显示的内容的数据链接。
答案 2 :(得分:1)
您可以使用带有window.status
属性的javascript设置状态栏的文本。例如。 http://www.htmlite.com/JS017.php
如果你真的需要,要在浏览器中禁用状态栏,你可以获得一个开源浏览器代码库的副本,删除状态栏的所有代码并将其重新分发给你的用户,但我怀疑这是你的意思/需要。
为什么需要隐藏状态栏中的链接?不希望公开URL的安全问题可以用另一种方式处理。
答案 3 :(得分:1)
以下是一些代码,可以隐藏浏览器状态栏区域中的原始链接文本
请注意:不确定它适用于哪种浏览器,但在IE9中工作正常
<a href="javascript:void(0);" onclick="location.href='http://www.google.com';return false;">If You Put Your Mouse Over This Text You Won't See Link In Status Bar Area</a>
当您在链接上运行鼠标时,状态栏中显示的只有javascript:void(0);
答案 4 :(得分:0)
您可以使用javascript作为链接:
这是how:
function goToBing() {
window.location.href = "http://bing.com";
}
和
<a href="http://google.com" onclick="goToBing();return false;">Link to Google</a>
正如Nick Craver所说,这在所有情况下都不起作用(控制点击,中键点击等)但是应该适合你,因为你没有在javascript链接上中继
答案 5 :(得分:0)
这是javascript + jQuery的一种方式,可以使用ctrl点击,移动点击,中间点击等。它会突破右击,但如果目标是隐藏链接,我猜这不是什么大问题。
尽管你对此做了什么,但我不承担任何责任,我这样做主要是为了好玩,但它看起来确实很邪恶。
JS:
$(document).ready(function() {
$('a').each(function() {
var address = $(this).attr('href');
var element = $(this).contents().unwrap().wrap('<div/>').parent();
element.data("hrefAddress", address).addClass("link");
element.click(function() {
var newWindow = window.open(element.data("hrefAddress"), '_blank');
newWindow.focus();
});
});
});
CSS:
.link {
color: #00f;
text-decoration: underline;
cursor: pointer;
}
.link:hover {
color: #00a;
}
HTML:
<div>
<a href="http://www.facebook.com">Facebook</a>
<a href="http://www.bing.com">Google</a>
<a href="http://www.yahoo.com">Yahoo</a>
<a href="http://stackoverflow.com">Stack Overflow</a>
</div>
<强> JS Fiddle 强>