更改 Chrome 状态栏中显示的 URL

Posted

技术标签:

【中文标题】更改 Chrome 状态栏中显示的 URL【英文标题】:Change URL shown in Chrome status bar 【发布时间】:2011-09-17 16:19:48 【问题描述】:

当我将鼠标悬停在 Chrome 中的某个网址上时,该网址会显示在 Chrome 状态栏中。在我的情况下,这会导致一个丑陋的 javascript:bla-bla-bla 参考。当您将鼠标悬停在链接上时,有什么方法可以更改状态栏的内容?

谢谢

【问题讨论】:

【参考方案1】:

虽然你选择了你的答案,但这个想法是一个替代方案。

您可以更改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>

【讨论】:

【参考方案2】:

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

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

【讨论】:

我正在开发它以在 iPad 中“全屏”运行。这意味着我想继续使用 href="javascript..." 格式,因为它是唯一不会“跳出”全屏模式的格式。 @Journeyman:那么在这种情况下,我认为 ios 网络应用程序应该仍然是一个 iOS 网络应用程序。我更愿意为桌面浏览器提供不同类型的前端,使用普通的超链接而不是 Mobile Safari 对网络应用程序所需的 Ajax 链接。 这不是说钓鱼网站只要添加合法链接,替换掉自己的onclick事件,就可以指向恶意URL了吗? @Timo Huovinen:既然你提到了,是的,他们可以。我记得在某处看到过概念证明,但我不记得网址了。【参考方案3】:
<a href="#" onClick="yourFunc(); return false;">Your "link"</a>

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

假设这是你所拥有的:&lt;a onClick="blabla"&gt;Link&lt;/a&gt;href="#" 添加到其中。然后应该显示# 而不是javascript:blabla。 所以应该是这样的:&lt;a href="#" onClick="blabla"&gt;Link&lt;/a&gt;

【讨论】:

不要在内部事件处理程序中使用javascript:,它将被解释为(无用的)标签。 哦对了,我忘了你不需要在onClick事件中添加javascript:【参考方案6】:

绝对可以达到预期的效果。只需看看 Google 在其搜索结果的状态栏中放置的内容。

但是,您需要使用某种技巧,例如onclick 喜欢 BoltClock 建议。

Google 会向您显示您希望看到的内容 - 一个简单、干净的 URL。 然而,在您点击任何结果链接时,他们会在下方使用带有监控参数的长重定向 URL 来跟踪您。这样,Google 就会监控哪些搜索结果被点击,哪些没有被点击。

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

【讨论】:

当我将鼠标悬停在 google 搜索结果上时,我的 google chrome 状态栏会显示完整的真实链接,这不是您想要插件实现的吗? 是的,这正是我所说的。我不确定它在 Chrome 中是如何工作的,但 Firefox 只显示虚拟链接(即,在您的点击被 Google 跟踪后,您将被重定向到的目的地)。 确实存在用于将 Google 的跟踪 URL 替换为真实的搜索结果的浏览器扩展:github.com/palant/searchlinkfix

以上是关于更改 Chrome 状态栏中显示的 URL的主要内容,如果未能解决你的问题,请参考以下文章

更改状态栏中的链接

删除在状态栏中显示超链接的超链接/鼠标悬停按钮

如何在状态栏中显示背景? [复制]

Android:是不是可以更改 Android Lollipop 状态栏中图标的颜色

XCode 在呼叫状态栏中更改视图

谷歌和雅虎如何替换浏览器状态栏中的 URL?