@@ -114,6 +114,8 @@ namespace webui {
114114
115115 if(_webui_log)
116116 console.log('WebUI -> Connected');
117+
118+ _webui_listener();
117119 };
118120
119121 _webui_ws.onerror = function(){
@@ -254,7 +256,7 @@ namespace webui {
254256 }
255257 }
256258
257- function SendEvent (name){
259+ function _webui_SendEvent (name){
258260
259261 if(_webui_ws_status && name != ''){
260262
@@ -282,56 +284,115 @@ namespace webui {
282284 }
283285 }
284286
285- window.addEventListener("load", function(){
287+ function _webui_listener_handler (){
286288
287289 var elems = document.getElementsByTagName("form");
288290 for (i = 0; i < elems.length; i++){
289-
290291 _webui_ws_status = false;
291292 alert('Incompatible HTML.\n\nYour HTML contain <form> elements, wish is not compatible with WebUI. Please remove all those elements.');
292-
293293 _webui_close(0xFF, '');
294294 }
295295
296296 elems = document.getElementsByTagName("button");
297297 for (i = 0; i < elems.length; i++){
298-
299298 if(elems[i].id == '')
300299 continue;
301-
302300 if(_webui_log)
303301 console.log('WebUI -> Listen -> <Button> -> ' + elems[i].id);
304-
305- elems[i].addEventListener("click", function(){ SendEvent(this.id) });
302+ elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
306303 }
307304
308305 elems = document.getElementsByTagName("div");
309306 for (i = 0; i < elems.length; i++){
310-
311307 if(elems[i].id == '')
312308 continue;
313-
314309 if(_webui_log)
315310 console.log('WebUI -> Listen -> <Div> -> ' + elems[i].id);
316-
317- elems[i].addEventListener("click", function(){ SendEvent(this.id) });
311+ elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
318312 }
319313
320314 elems = document.getElementsByTagName("li");
321315 for (i = 0; i < elems.length; i++){
316+ if(elems[i].id == '')
317+ continue;
318+ if(_webui_log)
319+ console.log('WebUI -> Listen -> <LI> -> ' + elems[i].id);
320+ elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
321+ }
322322
323+ elems = document.getElementsByTagName("p");
324+ for (i = 0; i < elems.length; i++){
323325 if(elems[i].id == '')
324326 continue;
327+ if(_webui_log)
328+ console.log('WebUI -> Listen -> <P> -> ' + elems[i].id);
329+ elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
330+ }
325331
332+ elems = document.getElementsByTagName("a");
333+ for (i = 0; i < elems.length; i++){
334+ if(elems[i].id == '')
335+ continue;
326336 if(_webui_log)
327- console.log('WebUI -> Listen -> <LI> -> ' + elems[i].id);
328-
329- elems[i].addEventListener("click", function(){ SendEvent(this.id) });
337+ console.log('WebUI -> Listen -> <A> -> ' + elems[i].id);
338+ elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
330339 }
331- });
332340
341+ elems = document.getElementsByTagName("p");
342+ for (i = 0; i < elems.length; i++){
343+ if(elems[i].id == '')
344+ continue;
345+ if(_webui_log)
346+ console.log('WebUI -> Listen -> <P> -> ' + elems[i].id);
347+ elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
348+ }
349+
350+ elems = document.getElementsByTagName("ul");
351+ for (i = 0; i < elems.length; i++){
352+ if(elems[i].id == '')
353+ continue;
354+ if(_webui_log)
355+ console.log('WebUI -> Listen -> <UL> -> ' + elems[i].id);
356+ elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
357+ }
358+
359+ elems = document.getElementsByTagName("footer");
360+ for (i = 0; i < elems.length; i++){
361+ if(elems[i].id == '')
362+ continue;
363+ if(_webui_log)
364+ console.log('WebUI -> Listen -> <FOOTER> -> ' + elems[i].id);
365+ elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
366+ }
367+
368+ elems = document.getElementsByTagName("nav");
369+ for (i = 0; i < elems.length; i++){
370+ if(elems[i].id == '')
371+ continue;
372+ if(_webui_log)
373+ console.log('WebUI -> Listen -> <NAV> -> ' + elems[i].id);
374+ elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
375+ }
376+
377+ elems = document.getElementsByTagName("span");
378+ for (i = 0; i < elems.length; i++){
379+ if(elems[i].id == '')
380+ continue;
381+ if(_webui_log)
382+ console.log('WebUI -> Listen -> <SPAN> -> ' + elems[i].id);
383+ elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
384+ }
385+ }
386+
387+ function _webui_listener(){
388+
389+ window.addEventListener("load", _webui_listener_handler());
390+ }
391+
392+ // Starting point
333393 _webui_start();
334394
395+ // Check connection
335396 setTimeout(function(){
336397
337398 if(!_webui_ws_status){
@@ -368,7 +429,6 @@ namespace webui {
368429 // console.log('WebUI -> CLOSE -> FUNC END');
369430 _webui_close(0xFF, '');
370431 });
371-
372432 window.onbeforeunload = function (){
373433 _webui_close(0xFF, '');
374434 };
@@ -379,7 +439,8 @@ namespace webui {
379439 //e.returnValue = '';
380440 });
381441
382- if (typeof webui_ready === "function")
442+ // Callback
443+ if(typeof webui_ready === "function")
383444 setTimeout(webui_ready, 0);
384445
385446 // - - - - - - - - - - -
0 commit comments