【问题标题】:Greasemonkey script to reload the page every minuteGreasemonkey 脚本每分钟重新加载页面
【发布时间】:2014-10-18 13:09:56
【问题描述】:

如何每 60 秒重新加载一次页面?

我的尝试:

setTimeout (location.reload, 1 * 60 * 60);

我不确定这些数字是什么意思,或者如何调整它们以仅在 60 秒后重新加载。

【问题讨论】:

    标签: javascript greasemonkey reload


    【解决方案1】:

    你可以给一个函数名,因为它是一个可调用的,但是,location.reloadlocation 对象的一个​​方法。它是可调用的,但是当它被计时器执行时,this 上下文将不是位置对象。这个事实会导致错误。

    解决方案是:
    编写一个简单的匿名函数作为包装器,如已接受的答案或
    中所述 使用location 作为其this 上下文创建reload 方法的绑定函数:

    setTimeout(location.reload.bind(location), 60000);
    

    【讨论】:

    • 如果可以的话,我会喜欢这个答案。这个特殊的小故障困扰了我很长时间,虽然我已经解决了这个问题,但还是很高兴能把这些问题联系起来并弄清楚它发生的原因。
    【解决方案2】:
    setTimeout(function(){ location.reload(); }, 60*1000);
    

    你必须传递一个完整的函数作为第一个参数,第二个是以毫秒为单位的时间。所以在你的情况下,60 * 1000

    【讨论】:

    • 那么,5 秒是 5 * 1000 吗?
    • 是的!它是以毫秒为单位的延迟。所以 5000 是 5 秒
    • 300秒,我可以简单地做300*1000吗? (我对文档感到困惑)
    • 是的,你可以。正如我所说,它是以毫秒为单位的时间
    【解决方案3】:

    查看a documentation 可能会对您有所帮助。 setTimeout 函数的参数是执行的操作和直到发生这种情况的毫秒数。 1 * 60 * 60 是 3600 毫秒或 3.6 秒。 60 秒的时间跨度将是 60000。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 2016-07-10
      • 1970-01-01
      • 2013-12-02
      相关资源
      最近更新 更多