更改Chrome状态栏中显示的URL

Change URL shown in Chrome status bar

本文关键字:URL 显示 Chrome 状态栏 更改      更新时间:2023-09-26

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

感谢

尽管您选择了答案,但这个想法是另一种选择。

您可以更改mouseover上的href属性以影响状态栏的内容,并在mouseoutclick:上将其更改回

function showNiceLink(el, e) {
  e = e || event;
  el.originalHref = el.originalHref || el.href;
  console.log(e.type);
  if (/click|out/i.test(e.type)){
    el.href = el.originalHref;
  } else {
    el.href = "http://Linking...";
  }
}
<a href="#this is a really UGLY link @1##$$%!!&"
   onmouseover="showNiceLink(this,event)"
   onmouseout="showNiceLink(this,event)"
   onclick="showNiceLink(this,event)">a link with an ugly <code>href</code></a>

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

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

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

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

假设这就是您所拥有的:
<a onClick="blabla">Link</a>
href="#"添加到其中。则应显示#而不是javascript:blabla
所以应该是这样的:
<a href="#" onClick="blabla">Link</a>

达到预期效果是绝对可能的。看看谷歌在搜索结果的状态栏里放了什么就知道了。

然而,您需要使用某种技巧,例如,像BoltClocks建议的onclick

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

不幸的是,大多数人没有意识到这一点。坦率地说,我很高兴看到一个浏览器扩展,它可以减少所有这些肮脏的技巧,并用"真实的"URL取代"跟踪"URL。