From cd186e8ffd3f29b1808a1561a9927218d1b83239 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 13 May 2014 19:22:51 +0000 Subject: [PATCH] fhemweb.js: fix loadScript for iOS. fhemweb_multiple: IE8 fix. git-svn-id: https://svn.fhem.de/fhem/trunk@5850 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/www/pgm2/fhemweb.js | 24 ++++++++++++++++++++---- fhem/www/pgm2/fhemweb_multiple.js | 5 ++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/fhem/www/pgm2/fhemweb.js b/fhem/www/pgm2/fhemweb.js index 24bce4f18..b8e956f12 100644 --- a/fhem/www/pgm2/fhemweb.js +++ b/fhem/www/pgm2/fhemweb.js @@ -3,6 +3,9 @@ var FW_pollConn; var FW_curLine; // Number of the next line in FW_pollConn.responseText to parse var FW_widgets = new Object(); // to be filled by fhemweb_*.js var FW_leaving; +var isIE = (navigator.appVersion.indexOf("MSIE") > 0); +var isiOS = navigator.userAgent.match(/(iPad|iPhone|iPod)/); + function log(txt) @@ -310,15 +313,28 @@ loadScript(sname, callback) script.src = sname; script.async = script.defer = false; script.type = "text/javascript"; - script.onload = callback; + + log("Loading "+sname); - script.onreadystatechange = function() { - if(script.readyState == 'loaded' || script.readyState == 'complete') { - script.onreadystatechange = null; + if(isIE) { + script.onreadystatechange = function() { + if(script.readyState == 'loaded' || script.readyState == 'complete') { + script.onreadystatechange = null; + if(callback) + callback(); + } + } + } else { + if(isiOS) + FW_pollConn.abort(); + script.onload = function(){ if(callback) callback(); + if(isiOS) + FW_longpoll(); } } + h.appendChild(script); } diff --git a/fhem/www/pgm2/fhemweb_multiple.js b/fhem/www/pgm2/fhemweb_multiple.js index 7427da2bb..7c22bc119 100644 --- a/fhem/www/pgm2/fhemweb_multiple.js +++ b/fhem/www/pgm2/fhemweb_multiple.js @@ -39,10 +39,13 @@ FW_multipleSelect(el) delete(selObj[v]); } + var selArr=[]; + for(var i1 in selObj) + selArr.push(i1); $('body').append( '
'); $('#multidlg').dialog(