2017-07-27 26 views
0

今天我有兴趣尝试以下有趣的一段JavaScript代码在Chrome中: -奇怪的行为时,从使用Javascript谷歌搜索结果页面提取URL

Array.from(document.getElementsByClassName('r')).forEach(x => console.log(x.firstChild.href)) 

正如预期的那样,这个名单的所有目标URL(没有谷歌跟踪)在我的控制台。但是,当我尝试检查anchorhref时,事实证明,href实际上是Google跟踪网址,而目标网址(无谷歌跟踪)在data-href中。

我预计href的值应该是目标网址(无谷歌跟踪)。我可否知道造成这种差异的原因是什么?

Google Search Result Page Screenshot

回答

0

事实上,我注意到,谷歌搜索结果页面中的锚将触发鼠标点击事件,这将在data-href改变href的一部开拓创新的价值,并嵌入它来代替。

这意味着只要锚点没有被点击,href的值的原始URL将被保留。

我目前的知识不允许我深入研究,欢迎任何更详细或技术性的解释! =)