- <script type="text/javascript" language="javascript">
-
- var http_request = false;
-
- function LoadInetInfo(url) {
-
- http_request = false;
-
- if (window.XMLHttpRequest) { // Mozilla, Safari,...
- http_request = new XMLHttpRequest();
- if (http_request.overrideMimeType) {
- http_request.overrideMimeType('text/xml');
- // zu dieser Zeile siehe weiter unten
- }
- } else if (window.ActiveXObject) { // IE
- try {
- http_request = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (e) {
- try {
- http_request = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e) {}
- }
- }
-
- if (!http_request) {
- alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
- return false;
- }
- http_request.onreadystatechange = DisplayInetInfo;
- http_request.open('GET', url, true);
- http_request.send(null);
-
- }
-
- function DisplayInetInfo() {
- if (http_request.readyState == 4) {
- var xmldoc = http_request.responseXML;
- var root1_node = xmldoc.getElementsByTagName('rx_kbs').item(0);
- var root2_node = xmldoc.getElementsByTagName('tx_kbs').item(0);
- var root3_node = xmldoc.getElementsByTagName('rxb').item(0);
- var root4_node = xmldoc.getElementsByTagName('txb').item(0);
-
- document.forms['speed'].txkb.value = root1_node.firstChild.data;
- document.forms['speed'].rxkb.value = root2_node.firstChild.data;
-
- // document.getElementsByTagName("input")[0].style.color = "#00FF00";
- url = "speed.cgi?rxb_last=" + root3_node.firstChild.data + "&txb_last=" + root4_node.firstChild.data;
-
- window.setTimeout("LoadInetInfo(url)", 3000);
- }
-
- }
- </script>
+END
+;
+if ($settings{'SPEED'} ne 'off') {
+print <<END
+ <script type="text/javascript" src="/include/jquery.js"></script>
+ <script type="text/javascript">
+ var t_current;
+ var t_last;
+ var rxb_current;
+ var rxb_last;
+ var txb_current;
+ var txb_last;
+ function refreshInetInfo() {
+ \$.ajax({
+ url: '/cgi-bin/speed.cgi',
+ success: function(xml){
+ t_current = new Date();
+ var t_diff = t_current - t_last;
+ t_last = t_current;
+
+ rxb_current = \$("rxb",xml).text();
+ var rxb_diff = rxb_current - rxb_last;
+ rxb_last = rxb_current;
+
+ var rx_kbs = rxb_diff/t_diff;
+ rx_kbs = Math.round(rx_kbs*10)/10;
+
+ txb_current = \$("txb",xml).text();
+ var txb_diff = txb_current - txb_last;
+ txb_last = txb_current;
+
+ var tx_kbs = txb_diff/t_diff;
+ tx_kbs = Math.round(tx_kbs*10)/10;
+
+ \$("#rx_kbs").text(rx_kbs + ' kb/s');
+ \$("#tx_kbs").text(tx_kbs + ' kb/s');
+ }
+ });
+ window.setTimeout("refreshInetInfo()", 3000);
+ }
+ \$(document).ready(function(){
+ refreshInetInfo();
+ });
+ </script>