0

我编写了一个脚本,通过每隔几秒刷新一次页面来检查订单数量是否发生变化,这样如果有新订单,我可以通过电子邮件发送给自己。我将 emailjs 用于电子邮件部分,因此我注入了emailjs库,然后以相同的代码发送电子邮件。当我在控制台中输入代码时,它按预期工作,但是代码检查一次然后刷新页面,所以我使用tempmonkey让它运行 onload 我也使用了onload 脚本,它们也有相同的结果,库被注入,但如果它没有命令起作用。这是脚本:

// ==UserScript==
// @name         autoRuns
// @include      https://daleel.com/wp-admin/edit.php?post_type=shop_order*
// @grant        all
// ==/UserScript==
new Promise((resolve) => setTimeout(resolve, 4000));
var alll = document.getElementsByClassName("count")[0].innerText;
if (location.href.includes("#") === false) {
  location.href = location.href + "#" + alll;
}
if (location.href.includes(alll.replace(/\(..|\)/g, "")) === false) {

 var s = document.createElement("script");
  s.type = "text/javascript";
  s.src="https://cdn.jsdelivr.net/npm/emailjs-com@2/dist/email.min.js";
    document.head.appendChild(s);
    var ss = document.createElement("script");
  ss.type = "text/javascript";
  ss.innerHTML ='(function() {emailjs.init("my_user_id");})();'
      document.head.appendChild(ss);
emailjs.init("my_user_id");
  emailjs.send("my_template_id", "template_auojv9r").then(
    function (response) {
      console.log("SUCCESS!", response.status, response.text);
    },
    function (error) {
      console.log("FAILED...", error);
    }
  );
  new Audio(
    "https://assets.mixkit.co/sfx/download/mixkit-modern-classic-door-bell-sound-113.wav"
  ).play();
  new Promise((resolve) => setTimeout(resolve, 2500));
  location.href = location.href.replace(/#.*/, "#" + alll);
}

window.location.reload(1);
https://stackoverflow.com/posts/66420617/edit#

有很多停顿,因为如果我快速刷新它,服务器会禁止我,因为我认为它会有所帮助。我使用 URL 来存储之前的订单数量。我将 emailjs id 更改为示例。这是我使用 tempmonkey 运行它时出现 的错误:错误图像 ,但是当我在控制台中手动运行完全相同的代码时,它工作正常。我是 JavaScript 新手,任何类型的评论都会有所帮助,我们将不胜感激。

4

0 回答 0