next up previous contents index
次へ: SMIL 上へ: Script言語を含んだSVG 戻る: Script言語を含んだSVG   目次   索引

周期的な動作

JavaScriptを用いることにより,ある一定の周期で計測データの要求も行える。

本研究では,以下のようなスクリプトにより計測データの要求を実現している。

function getStream1()//urlからのデータをうけとる 
                        {
                        var url='cgi-bin/svg_data.cgi';
                        getURL(url,handleStream1);
                        }

setInterval("getStream1();",100);//ms毎に実行

まず,function関数により,getStream1というオブジェクトを作成 する。このオブジェクトはgetURL関数により,ネットワーク上のサーバに リクエストを送る。送信されてきたデータは,handleStream1オブジェク トに渡される。

setInterval関数はgetStream1オブジェクトの実行周期を設定し, 実行をはじめる。

次に,画像の描画は以下のスクリプトにより実現している。

function handleStream1(data)//受け取ったデータから絵を作る 
                        {
                        var msg ='';
                        if(data.success){
                                msg = data.content;
                        } else {
                                msg = 'failed';
                        }
                        k= k+6;
                        rect1 = svgDocument.createElement('rect');
                        rect1.setAttribute("x", k);
                        rect1.setAttribute("y", msg);
                        rect1.setAttribute("height", 5);
                        rect1.setAttribute("width", 5);
                        rect1.setAttribute("id", 12);
                        svgDocument.getElementById('111')
			.appendChild(rect1);
                        }

受信データはdataに格納されており, 受信の成功の確認は,data.successの値で判断できる。 受信データの本体は,daata.contentに格納されている。

画像の描画はsvgDocument.createElementにより実現しており, パラメータの設定はsetAttributeで行い, 最後にappendChildにより,Windowに表示する。



平成15年3月14日