[javascript] Problema con internet explorer 8 [risolto]
Buonasera a tutti
ho dei problemi con IE8 quando devo eseguire la mia applicazione web; in pratica tramite un tasto dovrei lanciare una animazione (un immagine che appare e scompare), solo che il debug di IE mi da errore ad un if, di preciso il primo if dentro la funzione "inizia()" (mi dice 'interfaccia sconosciuta'), non riesco a capire il perché, qualcuno può aiutarmi? di seguito il codice:
ho dei problemi con IE8 quando devo eseguire la mia applicazione web; in pratica tramite un tasto dovrei lanciare una animazione (un immagine che appare e scompare), solo che il debug di IE mi da errore ad un if, di preciso il primo if dentro la funzione "inizia()" (mi dice 'interfaccia sconosciuta'), non riesco a capire il perché, qualcuno può aiutarmi? di seguito il codice:
var stop;
var immagine;
var paragrafo;
var elemento;
var tasti3;
var tasti4;
function lampeggia(imm,pr){
if(imm.style.visibility == 'visible' || pr.style.background == 'red'){
imm.style.visibility = 'hidden';
pr.style.background = 'red';
}
else {
imm.style.visibility = 'visible';
pr.style.background = 'yellow';
}
}
function fermati(){
blocca = document.getElementById('none');
blocca.getElementsByTagName('button')[1].disabled = false;
clearInterval(stop);
elemento.removeChild(immagine);
elemento.removeChild(paragrafo);
partasti.removeChild(tasti3);
partasti.removeChild(tasti4);
elemento.getElementsByTagName('button')[0].disabled = false;
elemento.getElementsByTagName('button')[1].disabled = true;
alert('Lavorazione terminata con successo');
}
function inizia(){
for(t=0; t<2; t++){
if(campo[t].value>Number(vettore[t]) || campo[t].value=='' || campo[t].value<=0 || isNaN(campo[t].value)){
campo[t].value = 'ERRORE!';
campo[t].style.background = 'red';
return;
}
else campo[t].style.background = 'white';
}
blocca = document.getElementById('none');
blocca.getElementsByTagName('button')[1].disabled = true;
elemento = document.getElementById('a');
elemento.getElementsByTagName('button')[1].disabled = false;
tasti3 = document.createElement('button');
tasti4 = document.createElement('button');
valore3 = document.createTextNode('Aumenta velocità');
valore4 = document.createTextNode('Diminuisci velocità');
tasti3.appendChild(valore3);
tasti4.appendChild(valore4);
tasti3.attachEvent('onclick',aumenta);
tasti4.attachEvent('onclick',diminuisci);
tasti4.disabled = true;
partasti.appendChild(tasti3);
partasti.appendChild(tasti4);
immagine = document.createElement('img');
immagine.src = './immagini/lavori-in-corso.gif';
immagine.id = 'posizionamento';
immagine.alt = 'lavori in corso';
opera = document.getElementById('a');
opera.appendChild(immagine);
opera.getElementsByTagName('button')[0].disabled = true;
paragrafo = document.createElement('p');
paragrafo.setAttribute('id','locazione');
paragrafo.style.background = 'yellow';
scritta = document.createTextNode('LAVORAZIONE IN CORSO');
paragrafo.appendChild(scritta);
opera.appendChild(paragrafo);
stop = setInterval('lampeggia(immagine,paragrafo)',2000);
setTimeout('fermati()',30000);
}
function termina(){
blocca = document.getElementById('none');
blocca.getElementsByTagName('button')[1].disabled = false;
clearInterval(stop);
elemento.removeChild(immagine);
elemento.removeChild(paragrafo);
partasti.removeChild(tasti3);
partasti.removeChild(tasti4);
elemento.getElementsByTagName('button')[0].disabled = false;
elemento.getElementsByTagName('button')[1].disabled = true;
alert('Lavorazione terminata forzatamente');
}
Risposte
risolto (e voglio sottolineare senza aiuto del prof
), praticamente ad Internet Explorer non piaceva l'assegnazione variabile-array. 'Vettore' era una variabile, è bastato trasformarla in array e con una riga di codice in più (per fare l'assegnazione), il gioco è riuscito.