Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript自动单击不起作用的链接_Javascript_Jquery_Wordpress_Onclick - Fatal编程技术网

javascript自动单击不起作用的链接

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); });

您好,我正在尝试运行一个脚本,以便在一定时间后自动单击链接

在familyoffices.com上,链接是右下角的“我们在线”图形

我正在使用

  <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 }));