如何区分用户的明确点击和JavaScript点击?

时间:2016-06-13 06:34:04

标签: javascript html facebook

社交媒体平台 - Facebook,Twitter等提供按钮,例如关注,以允许用户点击并执行操作。

例如,这是mashable.com上的“关注”按钮 - 点击关注直接让用户在Twitter上关注Mashable帐户,而无需将用户实际带到Twitter。

Twitter Follow

或者这个,直接在Facebook上浏览页面。

Facebook Like

为什么垃圾邮件网站无法运行脚本来点击其网站上的所有关注按钮以使传入的用户关注帐户Twitter或喜欢 Facebook上的某些帖子?

据我所知,JS区分用户意图点击和脚本点击。但它是如何做到的呢?

2 个答案:

答案 0 :(得分:0)

  

为什么垃圾邮件网站无法运行脚本点击其网站上的所有关注按钮

因为这些社交插件是在从Facebook域加载其内容的iframe中呈现的 - 这意味着,由于同源策略,垃圾网站无法通过JavaScript访问它。

(Click-jacking将是一个不同的问题 - 也是一个Facebook和其他社交网络采取措施。)

答案 1 :(得分:0)

以编程方式执行点击是通过node.dispatchEvent(event)完成的,其中event是一个Event或CustomEvent对象,另外您可以传递自定义配置文件,如

node.dispatchEvent(new CustomEvent('click', {
    details: config // your config event
}));

因此,检查可能至少以两种方式完成:

1)检查构造函数或event对象(相当容易出错)

2)检查你传递的config对象的详细程度。

原始政策是另一种方式,可能就是你在这种情况下所关注的。