我有一臺Chrome擴展程序,用於在凌晨凌晨在網站上運行一些批量作業。在Chrome中調用此URL並完成所有必要的工作時,我已經有了一個內容腳本來運行。我現在遇到了一個問題,找出將此字符串串入調度程序的最佳方法,以便在凌晨3點在Chrome選項卡中自動打開此URL。我在專用的Azure虛擬機中運行所有這些代碼,以便在腳本設置爲運行時不會有任何用戶登錄。當新選項卡結束時它會自動關閉,這個我已經處理完畢。使用Chrome擴展程序在特定時間打開網址
到目前爲止,我已經嘗試使用Windows任務計劃程序以URL作爲參數傳遞來打開Chrome。然而這種方法證明是有點不可靠的!
如果我讓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);
}
對此的任何想法將不勝感激。
您應該在這裏使用'setInterval'而不是'setTimeout',這非常簡單。但它不會解決你的問題。 –
謝謝@Riateche,我認爲它應該使代碼更清潔。我會看看這個。 – QFDev
爲什麼你使用chrome而不是wget或curl來做這件事? – rsanchez