Ciao a tutti!
Sto cercando di fare tutto da sola, spulciando il forum alla ricerca di risposte ai miei problemi (sono una dilettante di javascript), ma questo non so nemmeno come cercarlo, nè se sto postando sul forum giusto...
Sto facendo in modo che, leggendo un xml esterno, la pagina carichi il popup solo se c'è un'offerta attiva. Per evitare i popup ho giocato sulla visibilità di un livello.
Trattandosi di un sito in Flash, per evitare che il popup compaia prima della fine dell'introduzione animata, chiamo il javascript da dentro Flash, con un semplice
codice:
getURL("JavaScript:checkOfferta();void(0);");
Premesso che il Flash viene caricato via javascript con il AC_RunActiveContent, il mio script funziona perfettamente tutto su tutti i browser, eccetto che su IE (sia 6 che 7), che si incasina e blocca l'esecuzione del filmato Flash.
L'errore me lo indica alla riga 21, ma alla riga 21 c'è solo una impostazione css... :S
Fatti vari tentativi ho scoperto che la riga che gli dà problemi è quella segnata in rosso e la situazione non migliora nemmeno se scrivo document.getElementById('offerta');
Temo sia un problema di ordine, per cui vi indico le cose in ordine:
Al primo posto ci sono gli script di visualizzazione del popup:
codice:
<!--
function inizializza(){
//variabili browsers
if (document.all) {
documento="document.all";
parA="[";
parB="]";
}
else if (document.layers){
documento="document.layers";
parA="[";
parB="]";
}
else if (document.getElementById) {
documento="document.getElementById";
parA="(";
parB=")";
}
offerta = eval(documento+parA+"'offerta'"+parB);
}
function resize(img, tit) {
//recupero le dimensioni dell'immagine
var myImage = new Image();
myImage.src = 'http://www.miosito.it/images/offerte/'+ img;
var w = Number(myImage.width) + 40;
var h = Number(myImage.height) + 80;
//imposto le dimensioni del DIV che contiene l'immagine
offerta.width = w;
offerta.height = h;
offerta.style.display = "block";
}
function chiudi() {
//chiusura popup
offerta.style.display="none"
}
function apriOfferta() {
//modifico le dimensioni della finestra di popup
var h = screen.availHeight;
window.open('http://www.miosito.it/offerta_del_mese.html','popup','scrollbars=yes,resizable=yes,width=720,height='+ h +',status=no,location=no,toolbar=no');
return false;
}
//-->
Di seguito ho inserito gli script di caricamento del flash con _RunActiveContent, e infine, via ASP leggo l'XML e se l'offerta è attiva, con un response.write() imposto lo script che verrà poi invocato da Flash, ovvero:
codice:
function checkOfferta() {
checkOfferta = true;
inizializza();
resize('volantino.jpg', 'Offerta Speciale');
}
testato su tutti gli altri browser funziona... qualche idea?...
Grazie!