在 Google 和 Yahoo 搜索页面上,10 个搜索结果链接的 URL 实际上指向 google.com 或 yahoo.com。 URL 有额外的参数,允许 google.com 或 yahoo.com 在单击链接时重定向到实际的搜索结果。当用户将鼠标悬停在链接上时,搜索结果 URL(而不是 google.com 或 yahoo.com URL)会显示在浏览器的状态栏中。
我想知道他们是怎么做到的。
许多年前,这可以通过设置 window.status 的一些 javascript 来完成,但这似乎不再起作用,正如 Reliable cross browser way of setting Status bar text 所解释的那样。
我有一个看起来像这样的链接:<a href="http://somedomain.com/ReallyLongURLThatShouldNotBeSeenInTheStatusBar" onmouseover="window.status='http://niceShourtUrl.com/'" onmouseout="window.status=''">Click Me</a>
此链接尝试使用 window.status 策略,但它不起作用。如何修复此链接,使其类似于 Google 和 Yahoo 搜索结果页面上的链接?在本例中,我希望当用户将鼠标悬停在链接上时,状态栏中会显示“http://niceShourtUrl.com/”。
最佳答案
很难阅读源代码,但您会看到实际上 URL(在 <a>
标记中)是正确的目标 URL,这就是为什么浏览器的状态栏显示正确的 URL(而不是它重定向的跟踪链接当您实际单击时,您会通过)。然后有一些onclick
然后可以在浏览器的默认操作(跟随链接)发生之前拦截点击的 JavaScript。
关于javascript - 谷歌和雅虎如何替换浏览器状态栏中的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2813648/