0

作为脑筋急转弯,我的一个朋友问了我一个问题,是否可以通过注入链接然后模拟点击来欺骗引用者?所以我决定试一试,我用 gmail.com 试了一下,然后通过 firebug javascript 控制台运行了它。

var headID = document.getElementsByTagName("head")[0];         
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
headID.appendChild(newScript);

$("#signIn").html('<a href="http://google.com" id="testing">Hmm</a>');
$("#testing").click();

有趣的是,首先我收到一个错误,因为 jquery 似乎没有快速加载,但主要重要的是元素实际上没有被点击,有什么想法吗?

4

1 回答 1

1

jQuery 的click事件实际上并没有模拟真正的点击事件。它只是在对象上调用 click 事件。超链接(默认情况下)没有点击事件。.click尝试使用原生 javascript 函数,而不是使用 jQuery.click函数。

这有效:

document.getElementById("link").click();

这也有效:

$("#link")[0].click();

这将不起作用:

$("#link").click();

在这个 jsfiddle演示它

于 2012-12-31T00:57:16.043 回答