javascript - 检查页面是否正在用 JavaScript 加载?

标签 javascript jquery html

我有一个 setInterval,它选择一个输入,然后通过单击操作提交表单。现在我的问题是我的函数点击按钮的次数太多了。我尝试添加一个 bool 值来检查它是否被点击。没有骰子,页面将无法加载。由于某些奇怪的原因,提交按钮有时不起作用。我需要将间隔设置为 100 - 1000,以防页面超时或滞后。

如何检查以确保它在页面尝试加载时不会再次点击?如果间隔大于 1000,代码可以正常工作,但我需要速度。

var pickSize = setInterval(function(){
    if (window.location.href.indexOf('/website/') == -1 && window.location.href.indexOf('/page.php') == -1) {
        if ($('input[value="236"]').attr("checked", true)) {
            $('.Add').click();
        }
    }
}, 1000);

最佳答案

您可以使用onbeforeunload 事件来检查页面是否已经开始导航到另一个页面:

var interval = setInterval(function(){
    if(window.location.href.indexOf("/website/") == -1 && window.location.href.indexOf("/page.php") == -1) {
        if($('input[value="236"]').attr("checked", true)) {
            $('.Add').click();
        }
    }
}, 1000);

window.addEventListener('beforeunload', function() {
  clearInterval(interval);
  console.log('Started to navigate away...');
});

但是,您似乎需要解决原因,而不是后果。将您的 HTML 和 JS 发布到另一个问题中,例如“为什么我的表单有时只提交?”让我们尝试了解原因。这肯定是出于某种原因发生的:)

关于javascript - 检查页面是否正在用 JavaScript 加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33685374/

相关文章:

javascript - 用文本省略号在同一行显示 2 个文本

javascript - 可编辑表格(单击时删除文本并添加文本字段)触发次数过多

html - 我想将 <td> 中的文本对齐到顶部

javascript - 如何使网页滚动到使用 slidedown() 动画的元素?

javascript - 数据表服务器端信息 + 带 2 个按钮的静态列

javascript - 使用图像创建精美的 HTML 按钮

html - 使用 CSS 阻塞空间

JavaScript:使用 !kick 命令时出现 Discord.js 错误

javascript - 类型错误 : undefined is not a function

javascript - RESTful Web 应用程序中的客户端服务器架构