html 仅在第一页加载时自动单击按钮

gcuhipw9  于 2022-11-20  发布在  其他
关注(0)|答案(2)|浏览(232)

在我的网站上,我有一个按钮,它是由js自动点击的网站加载。

window.onload=function(){
  document.getElementById("myBtn").click();
};

我不知道如何编码的事情是,我希望按钮只在第一次访问页面时自动点击,或者每小时只点击一次...
有没有不使用jquery的方法?

pxq42qpu

pxq42qpu1#

这花了一些时间,但我认为这样的东西会对你起作用。如果你在这方面遇到任何问题,请告诉我。

// Initialize an object
let obj = {};

// Trigger when DOM loads
window.addEventListener('DOMContentLoaded', () => {
  // Get current Date in UNIX
  let currentDate = Date.now();
  // An hour in UNIX
  const hour = 3600000;
  // The date to reclick
  let reclickDate = currentDate + hour;

  // If already clicked
  if (localStorage.getItem('clickData')){
    // Parse the JSON object from localStorage
    let data = JSON.parse(localStorage.getItem('clickData'));
    // The Date to Reclick
    reclickDate = Date(parseInt(data.clickTime)+hour);
  }
  // Otherwise click now and set object JSON
  else {
    document.getElementById("myBtn").click();
    obj.clickTime = Date.now();
    localStorage.setItem('clickData', JSON.stringify(obj));
  }

  // Recursive Function
  checkForClick(currentDate, reclickDate);
});

const checkForClick = (currentDate, reclickDate) => {
  setTimeout(() => {

    // If 1 hour passed
    if (currentDate > reclickDate){
      // Reclick
      document.getElementById("myBtn").click();
      // Set localStorage new data
      obj.clickTime = Date.now();
      localStorage.setItem('clickData', JSON.stringify(obj));
      // Break function
      return;
    }

    // Otherwise recall the function
    checkForClick(currentDate+1000, reclickDate);
  }, 1000);
}
l2osamch

l2osamch2#

在jQuery中使用文档就绪函数尝试以下代码:

$(document).ready(function(){
    $("#myBtn").trigger('click'); 
});

相关问题