4

これは私の HTML コードです。ローカルに保存された *.txt ファイルから温度を読み取り、div コンテンツを *.txt ファイルから読み取った値に置き換えたいと思います。

<div class="floortitle">Temperaturen</div>
<div class='tempfield'>
    <div class='picpos'><img src='heating.gif'></div>
    <div style="position:absolute; top: 255px; left: 65px;">
        <div class='tempbox' id='Temp1'>11&deg;C</div>
    </div>
    <div style="position:absolute; top: 255px; left: 102px;">
        <div class='tempbox' id='Temp2'>12&deg;C</div>
    </div>
    <div style="position:absolute; top: 151px; left: 145px;">
        <div class='tempbox' id='Temp3'>13&deg;C</div>
    </div>
    .
    .
    . till Temp 6
    .
</div>

*.txt ファイルの内容は次のようになります。

02.10.2013;17:40:59;Temp 1;17;
02.10.2013;17:40:59;Temp 2;27;
02.10.2013;17:40:59;Temp 3;34;
02.10.2013;17:40:59;Temp 4;46;
02.10.2013;17:40:59;Temp 5;53;
02.10.2013;17:40:59;Temp 6;61;

しかし、結果は温度 4、5、6、1、2、3 で始まることもあります。これは、ページが更新されたときに測定がいつ行われたかによって異なります。*.txt ファイルを準備するには、単純なtail -6 originallog.txt

これは JavaScript でできると思いますが、インターネットを検索すると、String を検索して対応する div に一致させずに、結果を出力するだけの結果が常に見つかります。

次の手順を実行する必要があります。

  1. *.txt ファイルを開いて内容を読む
  2. Temp 1からTemp 6を検索します->次のようなループdocument.getElementById('Temp $i')
4

2 に答える 2

2

以下は、正規表現と replace メソッドを使用して値を抽出する 1 つの方法です。

var tempResult={};
string.replace(/Temp (\d);(\d+)/gm,function($0,$1,$2){tempResult[$1]=$2;});

記録のために、replace はここでは何も置き換えず、文字列をループするだけです。$1 は温度指数に一致し、$2 は温度に一致します。

次に、div を設定できます。次に例を示します。

for (var i=1;i<7;i++) {
    document.getElementById("Temp"+i).innerHTML=tempResult[i]+"&deg;C";
}

ライブデモ: http://jsfiddle.net/pYB55/

于 2013-10-03T21:00:17.217 に答える