如何模拟点击页面加载

How to simulate click on page load?

本文关键字:加载 何模拟 模拟      更新时间:2023-09-26

我的目标是不是简单的重定向!

甚至在你标记为重复之前,我已经尝试过thisthisthis。但没有成功。我已经在以下代码中尝试过了。

<a href="http://google.com" class="test_class">click me</a>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script language="javascript">
$("document").ready(function() {
    setTimeout(function() {
        //$('.test_class').click();
        $('.test_class').trigger('click');
    },10);
});
</script>

我已经尝试了点击事件与没有setTimeout,没有工作。我也试过用id,但没有用。我使用谷歌chrome版本44.0.2403.157(64位)在ubuntu 14.04,如果在所有的问题。

编辑:

我刚才也试过下面的变化,但都不起作用:(

 $(document).ready(function() { //removed quotes.
    setTimeout(function() {
        //$('.test_class').click();
        $('.test_class').trigger('click');
    },10);
});
这个

$(document).ready(function() {
    setTimeout(function() {
        //$('.test_class').click();
        $('.test_class')[0].trigger('click'); //added array representation
    },10);
});

和这个,这个点击事件的特点是,我可以看到警报,但<a>的点击事件没有发生

<a href="http://google.com" class="test_class">click me</a>
<div class="submit_btn" style="display:none;" onclick="dothis();"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script language="javascript">
function dothis()
{
    alert('dskjhfjkds');
    $('.test_class').click();
}
$(document).ready(function() {
    setTimeout(function() {
        //$('.test_class').click();
        $('.submit_btn').click();
    },10);
});
//$('.test_class')[0].trigger('click');
</script>

注。我的实际场景的点击事件不同,它不是简单的重定向到谷歌网站。

改为:

$('.test_class')[0].click();

当您触发<a>元素上的单击事件时,似乎不遵循href属性。

因此:

<a href="http://google.com" class="test_class">click me</a>
<script>
    $(document).ready(function() {
        setTimeout(function() {
            $('.test_class').click(); // this won't trigger the link to google.com
        },10);
    });
</script>

将不起作用

<a href="http://google.com" onClick="alert('this is an alert');" class="test_class">click me</a> <!-- notice the onClick attribute -->
<script>
    $(document).ready(function() {
        setTimeout(function() {
            $('.test_class').click(); // this will trigger the alert
        },10);
    });
</script>

这个会。

我猜一定有什么东西阻止了href属性的链接被Javascript触发。

如果您想在HTML中执行重定向,我建议您深入研究<meta http-equiv="refresh" content="5; URL=http://www.mydomain.tld">标记。

您需要通过访问$('.test_class')[0]:

为元素执行DOM事件单击。
$('.test_class')[0].click();