[Gdrcd 5.4] Problemi Modal Windows Chrome
[Gdrcd 5.4] Problemi Modal Windows Chrome postato il 13/01/2016 08:54:08 nel forum programmazione, open source e hosting
Salve a tutti.
Usando il gdrcd 5.4 ho impostato che i presenti estesi si aprissero su una pagina modale sfruttando lo script già implementato in footer.inc.php
Finché ho utilizzato Mozilla non ho avuto alcun problema, poi provando Chrome mi sono accorto di un comportamento nettamente diverso. La pagina dei presenti estesi veniva aperta dentro il frame dei presenti, quindi non più al centro dello schermo.
Sotto indicazione di un utente del forum ho utilizzato la console degli errori di Chrome, che dopo diverse prove non mi ha rivelato errori specifici nell'aprire la modale.
Pagine → 1
13/01/2016 16:27:16
Ti conviene date più informazioni sennò è difficile aiutarti. Magari posta il tuo codice, i messaggi di errore ricevuti o un piccolo screen di quanto ti succede
13/01/2016 18:09:15
Modifica in presenti.inc.php
<div class="link_presenti"><a href="javascript:modalWindow('scheda', '','popup.php?page=presenti_estesi')" target="_top">
<?php
if ($record['numero']==1){
echo '<div class="page_title"><h2>'.$record['numero'].' '.gdrcd_filter('out',$PARAMETERS['names']['users_name']['sing']).' '.gdrcd_filter('out',$MESSAGE['interface']['logged_users']['sing']).'</h2></div>';
} else {
echo '<div class="page_title"><h2 class="presenti_title">'.$record['numero'].' '.gdrcd_filter('out',$PARAMETERS['names']['users_name']['plur']).' '.gdrcd_filter('out',$MESSAGE['interface']['logged_users']['plur']).'</h2></div>';
}
?>
</a></div>
Script in footer.inc.php
<script type="text/javascript">
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 ($('#dialog-'+name).length == 0) {
// in questo caso lo creiamo:
$('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:
$('#dialog-'+name).attr('title', title);
$('#dialog-'+name+' iframe').attr('src', url);
}
// Ok, adesso siamo pronti per lanciare la modale!
$('#dialog-'+name).dialog({width: width, height: height});
}
</script>
e questo è quello che succede su Chrome

Help me D:
13/01/2016 19:32:02
Ok...è un bug di GDRCD. Quando è stata scritta la funzione per le modal non è stata pensata per farla aprire in un frame.
13/01/2016 19:51:35
Come posso risolvere? E soprattutto perchè mozilla ci passa sopra e apre la modale senza problemi?
14/01/2016 04:12:27
Prova a modificare la funzione della modale così dovrebbe funzionare
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});
}
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Project Entropy ↗
Wuthering Waves ↗
AlterEgo ↗
Sea of Conquest ↗
The Coven ↗
Hero Wars ↗
World of the Sea Battle ↗