【问题标题】:refresh page when dom is loaded [duplicate]加载dom时刷新页面[重复]
【发布时间】:2014-07-13 05:44:42
【问题描述】:

我想弄清楚如何在 dom 加载后刷新页面。如果 dom 加载并且页面上没有特定文本,它会刷新并继续循环直到找到该文本。

// ==UserScript==
// @name       My Fancy New Userscript
// @namespace  http://use.i.E.your.homepage/
// @version    0.1
// @description  enter something useful
// @match      http://stackoverflow.com/questions/8192126/clicking-a-button-on-a-page-using-a-greasemonkey-userscript-in-chrome/8192413#8192413
// @copyright  2012+, You
// @require    http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
// ==/UserScript==

function available() {
  var nodeList = document.querySelectorAll('.table');
  if (nodeList[0].innerHTML.indexOf( "Not available." ) != -1) {
    Location.reload();
    else {
     alert("Hello! I am an alert box!!"); 
    }
  }
}

$(function() {
  available();
});

【问题讨论】:

  • 这听起来有点狡猾,会不会导致一个永无止境的重定向循环?
  • 不是如果找到了文本,但它会有什么不同,不能保证文本会出现。此外,您应该发布您尝试过的示例。
  • 到目前为止添加了我的代码。 Tampermonkey 出于某种原因不允许我启用脚本。

标签: greasemonkey tampermonkey


【解决方案1】:

位置必须小写。

location.reload(); 


顺便说一句,将 true 作为参数传递意味着页面将从服务器加载,而不是从缓存加载。

【讨论】:

    【解决方案2】:

    使用 javascript 重新加载页面:

    Location.reload();
    

    您还需要一些方法来检查您的文本。 如果没有看到您的 DOM 结构,我无法对这方面给出准确的答案。

    【讨论】:

    • 谢谢,我已将此添加到我的脚本中。我的脚本由于某种原因无法启用。
    猜你喜欢
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2013-12-22
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    • 2010-12-24
    相关资源
    最近更新 更多