Javascript 更改Chrome状态栏中显示的URL

Javascript 更改Chrome状态栏中显示的URL,javascript,html,url,google-chrome,statusbar,Javascript,Html,Url,Google Chrome,Statusbar,当我将鼠标悬停在Chrome中的url上时,该url将显示在Chrome状态栏中。在我的例子中,这导致了一个丑陋的javascript:bla-bla引用。当您将鼠标悬停在链接上时,是否有任何方法可以更改状态栏的内容 谢谢出于安全原因,我很确定这在任何浏览器中都是不可能的。否则,到钓鱼网站的链接将变得越来越难以检测,因为攻击者可以在状态栏中放置一个真实的URL,而危险的链接实际上指向其他地方 对超链接使用onclick事件处理程序,并在href属性中放置一个真实、有意义的URL来代替javasc

当我将鼠标悬停在Chrome中的url上时,该url将显示在Chrome状态栏中。在我的例子中,这导致了一个丑陋的javascript:bla-bla引用。当您将鼠标悬停在链接上时,是否有任何方法可以更改状态栏的内容


谢谢

出于安全原因,我很确定这在任何浏览器中都是不可能的。否则,到钓鱼网站的链接将变得越来越难以检测,因为攻击者可以在状态栏中放置一个真实的URL,而危险的链接实际上指向其他地方


对超链接使用onclick事件处理程序,并在
href
属性中放置一个真实、有意义的URL来代替
javascript:
链接(即使该链接仅用于javascript)。

我猜您的意思是要更改所选链接的显示目的地?在这种情况下,您很可能应该将漂亮的url放在href属性中,并对javascript使用onclick属性。不确定是否可以通过将javascritp放入href来复制所做的一切。


<a href="#" onClick="yourFunc(); return false;">Your "link"</a>

假设这就是您所拥有的:

虽然您选择了答案,但这个想法是另一种选择

您可以更改
mouseover
上的
href
属性以影响状态栏的显示内容,然后将其更改回
mouseout
单击

功能链接(el,e){
e=e | |事件;
el.originalHref=el.originalHref | | el.href;
console.log(e.type);
如果(/单击| out/i.test(e.type)){
el.href=el.originalHref;
}否则{
el.href=”http://Linking...";
}
}

完全有可能达到预期的效果。只要看看谷歌在搜索结果的状态栏上放了什么

但是,您需要使用某种技巧,如BoltClock建议的
onclick

谷歌向你展示了你想看到的东西——一个简单、干净的URL。 然而,在下面,他们使用一个带有监控参数的长重定向URL,在您单击任何结果链接时跟踪您。这样,谷歌就可以监控哪些搜索结果被点击,哪些没有被点击


不幸的是,大多数人没有意识到这一点。坦率地说,我很高兴看到一个浏览器扩展,它可以消除所有这些肮脏的把戏,并用“真实的”URL替换“跟踪”URL。

不要在内部事件处理程序中使用
javascript:
,它将被解释为一个(无用的)标签。哦,对了,我忘了你不需要在onClick事件中添加
javascript:
。我正在开发这个程序,以便在iPad上“全屏”运行。这意味着我想继续使用href=“javascript…”格式,因为它是唯一一个不会“跳出”全屏模式的格式。@Journeyman:在这种情况下,我认为iOS web app应该保持为iOS web app。我更喜欢为桌面浏览器提供一种不同的前端,使用普通的超链接,而不是Mobile Safari为web应用程序提供的Ajax链接。这难道不意味着钓鱼网站可以添加合法链接并替换其onclick事件以生成恶意URL吗?@Timo Huovinen:既然你提到了,是的,他们可以。我记得在某个地方看到一个概念验证演示,但我记不起URL。当我在谷歌搜索结果上悬停时,我的谷歌浏览器状态栏显示了完整的真实链接,这不是你希望插件实现的吗?是的,这正是我所说的。我不确定它在Chrome中是如何工作的,但Firefox只显示了虚拟链接(即谷歌跟踪点击后将重定向到的目的地)。确实存在一个浏览器扩展,用于将谷歌的跟踪URL替换为真实的搜索结果: