2016-08-24 2 views
2

В настоящее время я пытаюсь интегрировать индикатор выполнения на свой веб-сайт. Я успешно разместил его на своей веб-странице, и сейчас я пытаюсь его оживить.Использование javascript для обновления HTML-кода в цикле python

У меня есть js-скрипт, который обновляет индикатор выполнения каждую секунду, что именно то, что я хочу, но проблема в том, что если вы обновляете страницу, индикатор выполнения возвращается к началу, даже если он выполняется когда страница была обновлена.

Итак, я решил использовать python, чтобы начать поток, поэтому обновление страницы не приведет к тому, что индикатор выполнения вернется к 0%, и это в основном цикл, который вычисляет процент прогресса каждую секунду.

Теперь я пытаюсь найти способ сделать ход выполнения, изменяя HTML и CSS каждую секунду.

Итак, мой вопрос: могу ли я вызвать функцию js из моего потока python? И если это невозможно, есть ли способ обновить HTML напрямую из python? Как библиотека или еще что-то?

Если у вас есть другие идеи по этому поводу, не стесняйтесь.

Если вам интересно, как выглядит код, вот часть питона:

print "starting test" 
while s <= total: 
    percent = (100 * s)/total 
    print percent 
    res["data"]["value"] = percent 
    //!\\-->Want to send RES to JS 
    time.sleep(1) 
    s = s + 1 
print "test is over" 

и здесь является частью ЯШ:

if (data.type == "init") { 
console.log("Receiving Init info"); 
} 
else if (data.type == "record") { 
console.log("Receiving record info"); 
    if (data.data.object == "progress-bar") { 
    var elem = document.getElementById("myBar"); 
    elem.style.width = data.data.value + '%'; 
    document.getElementById("label").innerHTML = data.data.value * 1 + '%'; 
    } 
} 

Заранее спасибо!

ответ

1

Вы можете использовать веб-сокеты, а в javascript вы можете получать данные с сервера и обновлять индикатор выполнения. Пожалуйста, ознакомьтесь с приведенной ниже статьей:

Web Sockets

Смежные вопросы