1

私のhtmlで、phpスクリプトを呼び出して(pythonスクリプトを呼び出して、NASがオンラインかオフラインかを確認します-これは正常に機能します)、「オンライン」または「オフライン」のいずれかを返します。結果に応じて、オンライン/オフライン インジケーターのクラス (「ラベル ラベル成功」から「ラベル ラベル危険」へ) とテキスト (「オンライン」から「オフライン」へ) を変更する必要があります。どうすればこれを実現できますか?

HTML

<span class="label label-success">Online</span>

PHP

<?php
  $result = popen("pingnas.py", "r");
  return $result;
?>
4

2 に答える 2

1

php スクリプトへの AJAX 呼び出しを行うことができます。これにより、python スクリプトが呼び出され、ユーザーがオンラインかオフラインかを確認できます。

このようなもの。

-In your Javascript, make an AJAX call to PHP script.
-PHP in turn executes python to see if the user is online or offline.
-Send the JSON response. May be something like {"status":"online"}
-Based on the JSON response, change the HTML of the span element.
于 2013-11-04T12:04:51.873 に答える
1

操作するスパンに ID を追加します

<span class="label label-success" id="indicator">Online</span>

結果変数を javascript に返し、テキスト/クラス名を javascript で操作します。Python スクリプトが成功の場合は 1 を返し、失敗の場合は 0 を返すと仮定します。

<?php
    $result = popen("pingnas.py", "r");
?>

<html>
<head>
<script type='text/javascript'> 
    var setStatus = function(status) {
    var ind = document.getElementById('indicator');

    if (status === 1) {
       ind.innerHTML='Online';
       ind.className='label label-success';

       return;
    }

    ind.innerHTML='Offline';
    ind.className='label label-fail';
}

window.onload = function() {
    setStatus(<?php echo $result ?>);
};
</script>

...rest of the HTML
于 2013-11-04T12:10:49.317 に答える