|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
|
|
<title>rss terminal</title>
|
|
|
|
<style type="text/css">
|
|
|
|
|
|
|
|
div#feedbox {
|
|
|
|
padding: 0;
|
|
|
|
margin: 0;
|
|
|
|
background: #fff;
|
|
|
|
text-align:left;
|
|
|
|
font:9px 'Lucida Console', 'Courier New', monospace;
|
|
|
|
}
|
|
|
|
|
|
|
|
div#feedbox p {
|
|
|
|
margin:0px 0;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<script type="text/javascript" src="/js/ajax.js"></script>
|
|
|
|
<script type="text/javascript" src="/js/rss2.js"></script>
|
|
|
|
<script type="text/javascript" src="/js/query.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
|
|
|
var lines = new Array();
|
|
|
|
var maxlines = 20;
|
|
|
|
var maxwidth = 90;
|
|
|
|
var maxtime = 10000; // time that should be wasted until everything is scrolled
|
|
|
|
var minwait = 50; // if this is too short, the CPU will eat all performance
|
|
|
|
var maxwait = 500;
|
|
|
|
var scroller = null;
|
|
|
|
var idleping = null;
|
|
|
|
var loader = null;
|
|
|
|
var lastwait = 1000;
|
|
|
|
var tab = " ";
|
|
|
|
var lastShow = new Date();
|
|
|
|
var set = "";
|
|
|
|
var requestCount = 0;
|
|
|
|
|
|
|
|
function fillLines() {
|
|
|
|
alert(maxlines);
|
|
|
|
for (var i = 0; i < maxlines + 1; i++) {
|
|
|
|
alert(maxlines);http://localhost:8080/Steering.html?shutdown=
|
|
|
|
addLine(i + "-123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789-");
|
|
|
|
//addLine("");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function addLine(line) {
|
|
|
|
while (line.length > maxwidth) {
|
|
|
|
lines.push(line.substring(0, maxwidth));
|
|
|
|
line = tab + line.substring(maxwidth);
|
|
|
|
}
|
|
|
|
lines.push(line);
|
|
|
|
if (lines.length > maxlines) {
|
|
|
|
if (scroller != null) {
|
|
|
|
window.clearInterval(scroller);
|
|
|
|
scroller = null;
|
|
|
|
}
|
|
|
|
scroller=window.setInterval("scroll()", newwait());
|
|
|
|
}
|
|
|
|
show();
|
|
|
|
}
|
|
|
|
|
|
|
|
function show() {
|
|
|
|
now = new Date();
|
|
|
|
if (now.getTime() - lastShow.getTime() < 50) return;
|
|
|
|
var doc = document.getElementById("content");
|
|
|
|
doc.innerHTML = "";
|
|
|
|
for (var i = 0; i < maxlines; i++) {
|
|
|
|
if (lines[i]) doc.innerHTML += lines[i] + "<br />";
|
|
|
|
}
|
|
|
|
lastShow = new Date();
|
|
|
|
}
|
|
|
|
|
|
|
|
function newwait() {
|
|
|
|
if (lines.length > maxlines) {
|
|
|
|
var time = maxtime / (lines.length - maxlines);
|
|
|
|
if (time < minwait) time = minwait;
|
|
|
|
if (time > maxwait) time = maxwait;
|
|
|
|
} else {
|
|
|
|
time = maxwait;
|
|
|
|
}
|
|
|
|
if (time < lastwait) time = (time + maxlines * lastwait) / (maxlines + 1);
|
|
|
|
lastwait = time;
|
|
|
|
return time;
|
|
|
|
}
|
|
|
|
|
|
|
|
function scroll() {
|
|
|
|
if (scroller != null) {
|
|
|
|
window.clearInterval(scroller);
|
|
|
|
scroller = null;
|
|
|
|
}
|
|
|
|
if (lines.length > maxlines) {
|
|
|
|
var factor = (lines.length - maxlines) / maxlines / 10;
|
|
|
|
if (factor < 0) factor = 1;
|
|
|
|
if (factor > 3) factor = 3;
|
|
|
|
for (var i = 0; i < factor; i++) {
|
|
|
|
lines.shift();
|
|
|
|
}
|
|
|
|
show();
|
|
|
|
scroller=window.setInterval("scroll()", newwait());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function showRSS(RSS) {
|
|
|
|
//populate the items
|
|
|
|
for (var i=0; i<RSS.items.length; i++) {
|
|
|
|
if (RSS.items[i].title != null) addLine(RSS.items[i].title);
|
|
|
|
if (RSS.items[i].link != null) addLine(tab + RSS.items[i].link);
|
|
|
|
if (RSS.items[i].description != null) addLine(tab + RSS.items[i].description);
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
function idlepingExec() {
|
|
|
|
if (lines.length <= maxlines) {
|
|
|
|
// feed in some empty lines to make the list appear alive
|
|
|
|
addLine("");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function load() {
|
|
|
|
getRSS("/xml/feed.rss?count=80&set=" + set + "&requestCount=" + requestCount + "&time=" + (new Date()).getTime());
|
|
|
|
requestCount++;
|
|
|
|
}
|
|
|
|
|
|
|
|
function init() {
|
|
|
|
if (query.maxlines) maxlines = query.maxlines;
|
|
|
|
if (query.maxwidth) maxwidth = query.maxwidth;
|
|
|
|
if (query.maxtime) maxtime = query.maxtime;
|
|
|
|
if (query.minwait) minwait = query.minwait;
|
|
|
|
if (query.maxwait) maxwait = query.maxwait;
|
|
|
|
if (query.width) {
|
|
|
|
document.getElementById("feedbox").style.width = query.width;
|
|
|
|
}
|
|
|
|
if (query.height) {
|
|
|
|
document.getElementById("feedbox").style.height = query.height;
|
|
|
|
}
|
|
|
|
if (query.set) set = query.set;
|
|
|
|
if (query.background) {
|
|
|
|
document.getElementById("feedbox").style.background = "#" + query.background;
|
|
|
|
}
|
|
|
|
if (query.color) {
|
|
|
|
document.getElementById("feedbox").style.color = "#" + query.color;
|
|
|
|
}
|
|
|
|
idleping = window.setInterval("idlepingExec()", 17000);
|
|
|
|
loader=window.setInterval("load()", 10000);
|
|
|
|
load();
|
|
|
|
}
|
|
|
|
|
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body onload="self.getURLparameters();init();">
|
|
|
|
<div id="feedbox">
|
|
|
|
<p id="content"></p>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
|
|
|
|
</html>
|