【发布时间】:2011-09-17 16:19:48
【问题描述】:
当我将鼠标悬停在 Chrome 中的某个网址上时,该网址会显示在 Chrome 状态栏中。在我的情况下,这会导致一个丑陋的 javascript:bla-bla-bla 参考。当您将鼠标悬停在链接上时,有什么方法可以更改状态栏的内容?
谢谢
【问题讨论】:
标签: javascript html url google-chrome statusbar
当我将鼠标悬停在 Chrome 中的某个网址上时,该网址会显示在 Chrome 状态栏中。在我的情况下,这会导致一个丑陋的 javascript:bla-bla-bla 参考。当您将鼠标悬停在链接上时,有什么方法可以更改状态栏的内容?
谢谢
【问题讨论】:
标签: javascript html url google-chrome statusbar
虽然你选择了你的答案,但这个想法是一个替代方案。
您可以更改mouseover 上的href 属性以影响状态栏的内容,然后将其更改回mouseout 或click:
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 属性。不确定是否可以通过将 javascritp 放入 href 来复制所做的一切。
【讨论】:
假设这是你所拥有的:<a onClick="blabla">Link</a>
将href="#" 添加到其中。然后应该显示# 而不是javascript:blabla。
所以应该是这样的:<a href="#" onClick="blabla">Link</a>
【讨论】:
javascript:,它将被解释为(无用的)标签。
javascript:。
绝对可以达到预期的效果。只需看看 Google 在其搜索结果的状态栏中放置的内容。
但是,您需要使用某种技巧,例如onclick 喜欢 BoltClock 建议。
Google 会向您显示您希望看到的内容 - 一个简单、干净的 URL。 然而,在您点击任何结果链接时,他们会在下方使用带有监控参数的长重定向 URL 来跟踪您。这样,Google 就会监控哪些搜索结果被点击,哪些没有被点击。
不幸的是,大多数人没有意识到这一点。坦率地说,我很高兴看到一个浏览器扩展程序可以消除所有这些肮脏的技巧并将“跟踪”URL 替换为“真实的”。
【讨论】: