Mik*_*e W 18 javascript yahoo url statusbar
在Google和Yahoo搜索页面上,10个搜索结果链接的网址实际上指向google.com或yahoo.com.URL具有额外的参数,允许google.com或yahoo.com在单击链接时重定向到实际搜索结果.当用户将鼠标悬停在链接上时,搜索结果网址(而不是google.com或yahoo.com网址)会显示在浏览器的状态栏中.
我想知道他们是怎么做到的.
很多年前,这可以通过设置一些设置window.status的javascript来实现,但这似乎不再起作用,正如可靠的跨浏览器设置状态栏文本的方式所解释的那样
我有一个看起来像这样的链接:
<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/ "显示在状态栏中.
Ada*_*kin 13
很难阅读源代码,但您会看到实际上URL(在<a>标签中)是正确的目标URL,这就是浏览器状态栏显示正确URL的原因(而不是它重定向的跟踪链接)你真的点击).然后有一些onclickJavaScript可以在浏览器的默认操作(链接之后)发生之前拦截点击.
Google在每个链接上都有onMouseDown处理程序,可以更改指向Google重定向的原始来源的链接.所以onmousedown替换了链接,当onClick出现时(在onmousedown之后不久)链接指向已经到原始方向以外的其他地方.
步骤1.用户点击链接(鼠标按钮关闭)
第2步.onMouseDown事件触发器
步骤3.链接目标(href值)被更改
步骤4.鼠标按钮出现
步骤5. onClick事件触发器
步骤6.浏览器看到点击了一个链接并将用户转发到所需的目的地(由已经改变的href值设置)
步骤7.浏览器打开Google重定向页面,然后将用户转发到原始目标
更新:Google过去仅用于跟踪onmousedown事件的点击次数,并且未更改链接目标.当在链接上按下鼠标按钮时,对谷歌服务器进行了图像加载请求,计算了点击(onmousedown => new Image("coogle.counter.server.com/link=www.pressed.com")),但我猜它被误用或者不够可靠,他们决定使用当前的链接更改技术.
| 归档时间: |
|
| 查看次数: |
1727 次 |
| 最近记录: |