我被一位朋友问过一个脑筋急转弯的问题,是否可以通过注入链接然后模拟点击来欺骗引用者?所以我决定试试,我用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没有快速加载,但最重要的是该元素实际上没有被点击,任何想法?
答案 0 :(得分:1)
jQuery的click
事件实际上并未模拟真正的点击事件。它只是调用对象上的click事件。超链接(默认情况下)没有单击事件。不要使用jQuery .click
函数,请尝试使用本机javascript .click
函数。
这有效:
document.getElementById("link").click();
这也有效:
$("#link")[0].click();
这不起作用:
$("#link").click();
进行演示