我编写了一个脚本,通过每隔几秒刷新一次页面来检查订单数量是否发生变化,这样如果有新订单,我可以通过电子邮件发送给自己。我将 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 新手,任何类型的评论都会有所帮助,我们将不胜感激。