javascript自动单击不起作用的链接
您好,我正在尝试运行一个脚本,以便在一定时间后自动单击链接 在familyoffices.com上,链接是右下角的“我们在线”图形 我正在使用javascript自动单击不起作用的链接,javascript,jquery,wordpress,onclick,Javascript,Jquery,Wordpress,Onclick,您好,我正在尝试运行一个脚本,以便在一定时间后自动单击链接 在familyoffices.com上,链接是右下角的“我们在线”图形 我正在使用 <script type="text/javascript"> $(document).ready(function() { setTimeout(function() { $('#desginstudio-button-image-desktop').click(); }, 300); });
<script type="text/javascript">
$(document).ready(function() {
setTimeout(function() {
$('#desginstudio-button-image-desktop').click();
}, 300);
});
</script>
$(文档).ready(函数(){
setTimeout(函数(){
$(“#desginstudio按钮图像桌面”)。单击();
}, 300);
});
不幸的是,这不是发射…有人知道我如何可以做到这一点吗 某些浏览器/版本不支持使用click()触发click事件。试着用.trigger('click')代替试着用
<head>
<script>
function haveclicked(){
document.getElementById('myLink').click();
}
</head>
<body onload="setTimeout('haveclicked();',3000);">
<a id="myLink" href="http://www.google.com" target="_blank">GOOGLE</a>
</body>
函数haveclicked(){
document.getElementById('myLink')。单击();
}
从MDN考虑这一点。。您需要创建一个事件来正确执行此操作
函数模拟单击(){
var evt=new MouseEvent(“单击”{
泡泡:是的,
可取消:对,
视图:窗口
});
var cb=document.getElementById(“复选框”);//要单击的元素
var canceled=!cb.dispatchEvent(evt);
如果(取消){
//名为preventDefault的处理程序
警报(“取消”);
}否则{
//没有一个处理程序调用preventDefault
警报(“未取消”);
}
}
document.getElementById(“按钮”).addEventListener(“单击”,模拟单击)代码>
已选中
单击我
而不是
$('#desginstudio-button-image-desktop').click();
试用
$('#desginstudio-button-image-desktop').trigger('click');
您可以尝试首先定位iframe和其中的元素--
然后发送一个合成事件--
真的有这样的元素吗?它确实是deskinstudio
,而不是designstudio
?我修复了id并使用了这个$(文档)。就绪(function(){setTimeout(function(){$('#designstudio按钮图像桌面')。触发器('click');},300);});仍然无法使用上述代码控制台中是否存在任何错误?上面提到的meAs@stephanie没有任何突出之处,是的,点击事件主要是针对IE的,它不是所有浏览器都能识别的,所以你也可以使用上面的建议,或者使用addEventListener创建一个新函数,在这里你可以定义点击事件发生了什么。我试过了,但它不起作用:/你可以在inspector上看到它,但没有什么好的,这似乎很奇怪,似乎JSFIDLE阻止了我的触发器,用codepen检查了相同的结果,它起作用了我需要的元素被加载到一个IFrame中如果你可以在一个框架中定位元素,那么CORS就不起作用了(点击jacking),那么这应该仍然有效。问题是我无法编辑目标代码,因为它来自由第三方控制的iframe上面的代码是从第三方插件放在网站上的,你很可能无法访问它,这对互联网是一件好事,但对你来说不是。从OWASP获得更多信息,基本上,这可以阻止您窃取我的银行详细信息。我不确定如何定位它,因为它不是一个按钮元素,而是一个div。找到iframe,然后使用iframe的contentDocument
,找到需要在其中单击的内容,并向该元素发送单击事件。
var frame = document.getElementById(/* your frame id*/),
button = frame.contentDocument.getElementById(/* your button id*/);
button.dispatchEvent(new MouseEvent("click", { bubbles: true }));