我有一个 Chrome 扩展程序,用于在凌晨在网站上运行一些批处理作业。当在 Chrome 中调用此 URL 并完成所有必要的工作时,我已经有一个内容脚本可以运行。我现在遇到了一个问题,我想找出将它串到调度程序的最佳方法,以便这个 URL 在凌晨 3:00 在 Chrome 选项卡中自动打开。我在专用的 Azure 虚拟机中运行所有这些代码,因此当脚本设置为运行时不会有任何用户登录。当新标签完成它的工作时,它会自动关闭,我已经处理过了。
到目前为止,我已经尝试使用 Windows 任务计划程序打开 Chrome,并将 URL 作为参数传入。然而,这种方法被证明有些不可靠!
如果我在虚拟机上打开 Chrome,是否有任何原生 Chrome API 可用于在特定时间打开带有 URL 的选项卡?我还在一个单独的页面中使用了以下 javascript 函数来触发 URL 打开,但是我没有机制来测试它是否已经在另一个选项卡中运行,所以这段代码会导致无限的新选项卡被打开,除非它可能是适合检查 URL 是否已经打开,我认为这将超出 Javascript 本身的范围。
var myUrlToCall = "http://www.myspecialurl.com/runme.html";
//IS 3 AM YET?
function runTimer() {
setTimeout(function () {
var dtNow = new Date();
var hoursNow = dtNow.getHours() * 1;
if (hoursNow >= 3) {
//Open new window here (but how can I know if it's already open?)
window.open(myUrlToCall);
} else {
runTimer();
}
}, 3000);
}
对此的任何想法将不胜感激。