1
1
( function ( ) {
2
2
3
3
var dataelem = "#data" ;
4
- var scrollelem = " body";
4
+ var scrollelems = [ "html" , " body"] ;
5
5
6
6
var url = "log" ;
7
- var load = 30024 ; /* 30KB */
7
+ var load = 30 * 1024 ; /* 30KB */
8
8
var poll = 1000 ; /* 1s */
9
9
10
10
var kill = false ;
@@ -30,6 +30,7 @@ function get_log() {
30
30
* the file has been trucnated */
31
31
32
32
$ . ajax ( url , {
33
+ dataType : "text" ,
33
34
cache : false ,
34
35
headers : { Range : "bytes=" + range } ,
35
36
success : function ( data , s , xhr ) {
@@ -59,7 +60,7 @@ function get_log() {
59
60
60
61
if ( log_size === 0 ) {
61
62
/* Clip leading part-line if not the whole file */
62
- if ( data . length < log_size ) {
63
+ if ( data . length < size ) {
63
64
var start = data . indexOf ( "\n" ) ;
64
65
log_data = data . substring ( start + 1 ) ;
65
66
} else {
@@ -81,7 +82,8 @@ function get_log() {
81
82
}
82
83
83
84
log_size = size ;
84
- show_log ( added ) ;
85
+ if ( added )
86
+ show_log ( added ) ;
85
87
setTimeout ( get_log , poll ) ;
86
88
} ,
87
89
error : function ( xhr , s , t ) {
@@ -93,7 +95,7 @@ function get_log() {
93
95
94
96
log_size = 0 ;
95
97
log_data = "" ;
96
- show_log ( true ) ;
98
+ show_log ( ) ;
97
99
98
100
setTimeout ( get_log , poll ) ;
99
101
} else {
@@ -106,14 +108,19 @@ function get_log() {
106
108
} ) ;
107
109
}
108
110
109
- function show_log ( scroll ) {
110
- var d = $ ( dataelem ) ;
111
- var s = $ ( scrollelem ) ;
112
-
113
- d . text ( log_data ) ;
111
+ function scroll ( where ) {
112
+ for ( var i = 0 ; i < scrollelems . length ; i ++ ) {
113
+ var s = $ ( scrollelems [ i ] ) ;
114
+ if ( where === - 1 )
115
+ s . scrollTop ( s . height ( ) ) ;
116
+ else
117
+ s . scrollTop ( where ) ;
118
+ }
119
+ }
114
120
115
- if ( scroll )
116
- s . scrollTop ( s . height ( ) ) ;
121
+ function show_log ( ) {
122
+ $ ( dataelem ) . text ( log_data ) ;
123
+ scroll ( - 1 ) ;
117
124
}
118
125
119
126
function error ( what ) {
@@ -122,7 +129,7 @@ function error(what) {
122
129
$ ( dataelem ) . text ( "An error occured :-(.\n" +
123
130
"Reloading may help; no promises.\n" +
124
131
what ) ;
125
- $ ( scrollelem ) . scrollTop ( 0 ) ;
132
+ scroll ( 0 ) ;
126
133
}
127
134
128
135
$ ( document ) . ready ( function ( ) {
0 commit comments