2 回答

TA貢獻1799條經驗 獲得超8個贊
notifyProjectManager.php這應該向$_GET變量中包含您需要的值發送請求。您可以更改var paramsKeys以添加更多鍵。
// Calcul de temps du chronomètre (en secondes)
function envoyerAudio(minutes, heures, secondes) {
minAlarm = parseInt(minutes);
hrAlarm = parseInt(heures);
secAlarm = parseInt(secondes);
flagAudio = true;
if (hrAlarm != 00) {
minAlarm = minAlarm + (hrAlarm * 60);
}
if (minAlarm != 00) {
secAlarm = secAlarm + (minAlarm * 60);
}
return secAlarm;
}
var resultat = ((tempsRestant * 60) - (envoyerAudio(min, hr, sec)));
// Gestion des alarmes
if (resultat == 3600) {
audio.play();
}
if (resultat < 3600) {
if (!!window.notifyProjectManager) {
var params = [];
var paramsKeys = ['user', 'temps', 'iduser', 'affichage', 'chargeProjet'];
for (var i in paramsKeys) {
var key = paramsKeys[i];
params.push(key + '=' + getByNameValue(key));
}
get('notifyProjectManager.php?' + params.join('&'), function () {
window.notifyProjectManager = true;
});
// Permet, lorsque flagAlert="true", d'envoyer un mail au chargé de projet
document.getElementById("flagAlert").innerHTML = "true";
}
} else {
document.getElementById("flagAlert").innerHTML = "false";
}
// get request (working in all browsers)
function get(url, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
callback(xhr.responseText);
}
}
};
xhr.open('GET', url);
xhr.send(null);
}
function getByNameValue(name) {
return encodeURIComponent(document.getElementsByName(name)[0].value);
}
if (resultat == 0) {
audio.play();
}
if (resultat == -3000) {
audio.play();
alert("Arrêtez la tache en cours !!");
}

TA貢獻1833條經驗 獲得超4個贊
我看不到你的超時/間隔函數在哪里,所以我不能更具體......但基本上你可以在計時器到期時在該函數中設置一個標志,然后在相同或下一個勾號。
現在,如果您需要發送電子郵件。在 X 時間點,無論瀏覽器是否打開,您都可以在服務器上使用 Cron。
添加回答
舉報