[GDRCD 5.2] Scheda in finestra modale - Risolto
14/07/2021 11:07:49
anchor ha scritto: ...
E quando essa viene chiusa, quindi scompare dalla schermata, hai la certezza che il suo contenuto venga cancellato effettivamente o rimanga sempre lì, ma invisibile?
Kasa.
14/07/2021 11:18:59
anchor ha scritto: ...
Compreso.
Potresti postare qui i sorgenti della funzione che chiude le modali? Proprio il dettaglio della funzione js.
Kasa.
14/07/2021 12:27:46
anchor ha scritto: jquery-ui.min.js -> Kasa è questo il file da dove devo attingere?
A primo acchito, direi di no.
Dovrebbe esserci da qualche parte una funzione, tipo closeModal, che permette la chiusura di queste.
Forse è nello stesso file in cui è presente modalWindow .
Kasa.
14/07/2021 14:29:06
anchor ha scritto: ...
Non è proprio questo.
La modale l'hai presa da un pacchetto qui su GdR-Online?
Kasa.
16/07/2021 18:23:30
Sono riuscito a mettermici un attimo e ho scovato l'inghippo.
Come ti dissi, quando viene effettuata la chiusura della modale effettivamente non avviene la sua rimozione, bensì viene "nascosta". Anche se non compare, l'iframe con l'audio rimane comunque in esecuzione poiché non è stato cancellato.
Per rimuovere del tutto il contenuto della modale ed impedire la musica "fantasma", puoi applicare una soluzione simile:
function modalWindow(name, title, url, width, height) {
// per width ed height imposto dei valori di default così non occorre specificarli in ogni occasione
width = typeof width === 'undefined'? 800 : width;
height = typeof height === 'undefined'? 600 : height;
// verifichiamo se nel body non esiste il sorgente per la dialog
if (top.$('#dialog-'+name).length == 0) {
// in questo caso lo creiamo:
top.$('body').append('<div id="dialog-'+name+'" title="'+title+'" style="padding:0;"><iframe src="'+ url +'" frameborder="no" style="position:absolute;width:100%;height:100%;" scrolling="yes"></div>');
} else {
// se il sorgente invece esiste già assegnamo la nuova url all´iframe:
top.$('#dialog-'+name).attr('title', title);
top.$('#dialog-'+name+' iframe').attr('src', url);
}
// Ok, adesso siamo pronti per lanciare la modale!
top.$('#dialog-'+name).dialog({
width: width,
height: height,
close: function() {
top.$('#dialog-'+name+' iframe').attr('src', '')
}
});
}
Questa funzione io l'ho trovata nativa in GDRCD#5.5.1, dentro il file footer.inc.php. Se l'hai in un altro punto, assicurati di aggiungere la parte in grassetto alla funzione.
Kasa.
17/07/2021 00:20:43
mathramstaff ha scritto: ...
Non sono molto pratico con la creazione di pacchetti, lascio ad altri l'onore.
Ho aggiunto la correzione su GitHub, in modo che sia presente nella prossima versione di GDRCD.
Qui il dettaglio: https://github.com/GDRCD/GDRCD/commit/9d82df2436b856323124a90a16142bdb2ca05522 ↗
Kasa.
Discussione seguita da
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Tiles Survive ↗
Enlisted ↗
Crossout ↗
Wuthering Waves ↗
CRSED: F.O.A.D. ↗