0

我有以下代码;

<script>
$(document).ready(function() {
    $('a[href*="profile"]:contains("PETER PAN")').closest('tr').find('.fightActionInnerInner').click();
});

我将如何运行它,然后刷新页面(比如每 2-3 秒)并重新运行脚本。我正在使用 Greasemonkey,如果有帮助的话。谢谢。

4

3 回答 3

1

在 JavaScript 中,您可以使用 重新加载页面window.location.reload()history.go(0)甚至window.location.href=window.location.href

文档就绪功能中的代码将在页面重新加载时自动再次运行。

如果你想延迟某些事情,你可以这样做setTimeout

setTimeout(function (){
    //do something
}, yourMillisecondsToWaitUntilStart);

对于您的代码,它将是:

    $(document).ready(function(){
        $('a[href*="profile"]:contains("PETER PAN")').closest('tr').find('.fightActionInnerInner').click();
        setTimeout(function(){
             window.location.reload();
        }, msToWait
    });

替换msToWait为您希望延迟页面重新加载的毫秒数。

于 2013-05-29T14:47:58.723 回答
1

您可以将 setTimeOut 函数与 window.location 重新加载一起使用,如下所示:

$(document).ready(function(){
setTimeout(function(){
    window.location.reload();
}, 2000);
});

这是一个工作示例的小提琴: jsFiddle

于 2013-05-29T14:51:38.883 回答
0

阅读有关Meta refresh的信息。

您只需将其放在页面的 head 标记中

<meta http-equiv="refresh" content="3">

但是,我建议您阅读整个页面,特别是这些部分(即使您最终使用其他用户建议的 javascript 重定向方式,因为本文显示了每隔几秒刷新一次的一些一般缺点,无论您采用哪种方式):

万维网联盟 (W3C) 不鼓励使用元刷新,因为意外刷新会使用户迷失方向。

缺点

元刷新标签有一些缺点:

如果页面重定向过快(少于 2-3 秒),使用 < 下一页上的“返回”按钮可能会导致某些浏览器移回重定向页面,从而再次发生 > 重定向。这不利于可用性,因为这可能会导致读者“卡”在最后一个网站上。读者可能希望也可能不希望被重定向到不同的页面,这可能会导致用户不满或引发对安全性的担忧。

备择方案

刷新

另一种方法是提供交互设备,例如按钮,让用户选择何时刷新内容。另一种选择是使用诸如 Ajax 之类的技术来更新(部分)网站,而不需要完整的页面刷新,但这也需要用户在他们的浏览器中启用 JavaScript。

如果您真的不需要刷新页面,我建议您使用setTimeoutjavascript函数,正如另一个答案中已经提到的(除了使用它来触发点击,而不是重新加载页面),因为刷新页面是一件大事小(如果点击做了一些小的事情,我猜它确实如此)。

于 2013-05-29T14:51:33.663 回答