2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-13 05:06:35 +00:00

fhemweb.js: call the callback even if the script is already loaded

git-svn-id: https://svn.fhem.de/fhem/trunk@5546 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2014-04-17 20:24:28 +00:00
parent 75b41bc91b
commit ddfcc1ebd5

View File

@ -291,7 +291,7 @@ FW_querySetSelected(el, val)
////////////////////////// //////////////////////////
// start of script functions // start of script functions
function function
loadScript(sname, cb) loadScript(sname, callback)
{ {
var h = document.head || document.getElementsByTagName('head')[0]; var h = document.head || document.getElementsByTagName('head')[0];
var r = h.getAttribute("root"); var r = h.getAttribute("root");
@ -300,19 +300,22 @@ loadScript(sname, cb)
sname = r+"/"+sname; sname = r+"/"+sname;
var arr = h.getElementsByTagName("script"); var arr = h.getElementsByTagName("script");
for(var i1=0; i1<arr.length; i1++) for(var i1=0; i1<arr.length; i1++)
if(sname == arr[i1].getAttribute("src")) if(sname == arr[i1].getAttribute("src")) {
if(callback)
callback();
return; return;
}
var script = document.createElement("script"); var script = document.createElement("script");
script.src = sname; script.src = sname;
script.async = script.defer = false; script.async = script.defer = false;
script.type = "text/javascript"; script.type = "text/javascript";
script.onload = cb; script.onload = callback;
log("Loading "+sname); log("Loading "+sname);
script.onreadystatechange = function() { script.onreadystatechange = function() {
if(script.readyState == 'loaded' || script.readyState == 'complete') { if(script.readyState == 'loaded' || script.readyState == 'complete') {
script.onreadystatechange = null; script.onreadystatechange = null;
if(cb) if(callback)
cb(); callback();
} }
} }
h.appendChild(script); h.appendChild(script);