Я уже использую этот фрагмент кода для обновления кодового поля на странице с данными, полученными с помощью dyntask.php.
<script type="text/javascript">
if(typeof(EventSource)!=="undefined") {
var eSource = new EventSource("dyntasks.php");
eSource.onmessage = function(event, previous) {
document.getElementById("serverData").innerHTML = event.data;
};
}
</script>
Данные, собранные с помощью dyntask.php, извлекаются из текстового файла.
2018-05-10 14:02:01: starting task 99333
2018-05-10 14:02:03: task 99333 completed
2018-04-13 15:13:44: triggered tasks
2018-05-10 14:05:52: starting task 99334
2018-05-10 14:05:57: task 99334 completed
2018-05-10 14:11:01: starting hidden task 99335
2018-05-10 14:11:07: hidden task 99335 completed
updating...
Последняя строка текстового файла всегда "обновляется ...". Что мне нужно сделать, это постоянно проверять содержимое строки перед последней
- проверка должна начинаться каждый раз, когда в строке присутствует ключевое слово "старт"
- когда клавиатура найдена, скрипт должен начать проверку на наличие слова «выполнено»
- когда слово "завершено" найдено, скрипт должен обновить всю страницу
Я не знаю Java больше, чем нужно для создания этого маленького сценария. У меня нет никаких подсказок о том, как это сделать, но я уверен, что есть люди, которые могут добавить в сценарий всего две строки, чтобы заставить его работать как положено.
Не могли бы вы мне помочь? 1019 *
Джованни - Италия, Рим
РЕШЕНИЕ НАЙДЕНО!
<script type="text/javascript">
if(typeof(EventSource)!=="undefined") {
var eSource = new EventSource("dyntasks.php");
eSource.onmessage = function(event, previous) {
document.getElementById("serverData").innerHTML = event.data;
var contents = event.data.split('<br/>') ;
if(contents[6].indexOf('completed') !== -1 && contents[6] != localStorage.getItem('previous') && previous !== '') {
window.location.href = '/index.php?id=taskmanager';
};
localStorage.setItem('previous', contents[6]);
};
}
</script>