Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Problema su script (di Pusceddu B.) per controlli su cambio e chiusura pagina

    Salve a tutti,
    ho trovato sul portale questo ottimo script, di Pusceddu Bruno, implementandolo in un mio progetto online, ovvero un gdr play by chat.

    L'articolo in questione è reperibile qui:
    Controlli su cambio e chiusura pagina
    Lo script funziona perfettamente con IE, ma ahimè... non con FireFox.

    Vi posto, per maggior comprensione, la pagina dal quale lo richiamo (un frameset con 4 frames)

    <?php
    session_start();
    require "controlla_login.php";
    require "config.inc.php";
    ($_SESSION[LUOGO_ONLINE]='Mappa');
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
    "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <title>GDR ONLINE</title>
    <link rel="stylesheet" href="stile.css" type="text/css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
    <!--
    function openchk() {
    cartella = location.pathname;
    opzioni = 'width=1024,height=768,top=0';
    window.open('chkout.htm?'+cartella,'ctrout',opzion i);
    }
    //-->
    </script>
    </head>
    <frameset id="main" rows="140,*" frameborder="no" framespacing="0" onUnload="openchk();">
    <frameset cols="25%,50%,25%">
    <frame src="leftpanel.php" name="leftFrame" scrolling="no" noresize>
    <frame src="centerpanel.php" name="centerFrame" scrolling="no" noresize>
    <frame src="rightpanel.php" name="rightFrame" scrolling="no" noresize>
    </frameset>
    <frame src="mainframe.php" name="mainFrame">
    </frameset>
    </html>

    E ovviamente vi rendo noto che l'ho configurato a dovere nella pagina che richiama lo script per il logout, e che come detto sopra con IE funziona senza alcun problema.

    Premesso che purtroppo NON conosco (e francamente non so neanche dove potrei leggere in merito, se qualcuno conosce qualche link utile mi farebbe un gran regalo) le differenze tra il DOM di IE e quelle di FireFox, non riesco a risolvere il problema.

    Vi chiedo di aiutarmi^^

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    35
    A me ha funzionato, o perlomeno mi ha aperto la popup di una pagina che non trova, anche su Firefox dopo che ho abilitato i popup.

    In ogni modo qui trovi tutta la documentazione
    http://www.w3schools.com/htmldom/default.asp

  3. #3
    Sì, ho dimenticato di dire che comunque i pop-up sono correttamente abilitati anche su firefox.
    Credi il problema dipenda dal fatto che il frameset stesso viene aperto in una pop-up?
    il codice che ti ho postato infatti viene aperto da una pagina precedente appunto in una pop-up.
    Io ho provato anche variando il DTD sia del frameset sia della pagina target, ma niente da fare.
    La pagina logout.asp (nel mio caso logout.php) non viene eseguita, e quindi gli utenti mi rimangono appesi.
    Infine, sempre con FF si vede lampeggiare una popup, ma scompare subito non eseguendo lo script javascript.
    Grazie per il link, comunque^^

  4. #4
    Nessuno più esperto che sappia cosa non va nello script?

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il fatto che una popup ti si apra, anche se solo per un attimo, fa pensare che l'errore non stia nel mio script bensi' in quello che hai messo nella popup... prova a postarlo.

    ps: tieni presente pero' che non ho firefox per provarlo

    ciao

    pps: quello script e' un pochino obsoleto... vanificato spesso dai vari blocchi popup o dai nuovi browser che non aprono nuove finestre... dovresti cominciare a pensare di gestire il problema con un approccio diverso, che so, una chiamata aiax ad intervalli regolari...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Ti ringrazio per l'attenzione, e passo a darti maggiori dati ancora.
    la struttura che porta al frameset è la seguente:

    homepage--->pagina di login (aperta in popup)---->do_login.php (pagina che elabora i dati di ingresso ricevuto dal login)--->frameset (che eredita la popup precedente).

    l'homepage apre la pagina di login grazie a un oggetto swf, che incorpora questo codice per l'apertura stessa.

    MovieClip.prototype.apriPopup = function (nome, titolo, lar, alt)
    {
    getURL("javascript:window.open('" + nome + "','" + titolo + "','width=" + lar + ",height=" + alt + "toolbar=no,location=no,status=no,menubar=no,scrol lbars=yes,resizable=yes');void(0);");
    };

    mentre questo è il codice del pulsante stesso che apre la pop-up.

    on (release) {
    apriPopup('logga.php?CONTROLLO=OK','ingresso','102 4','768')
    }

    l'handle della pop-up dovrebbe quindi rimanere 'ingresso'.

    Se il problema dipende dal flash, posso tranquillamente generare la pop-up con un javascript..

    Se hai bisogno di altri dati, chiedi pure, sarò lieto di darteli ^^.

    P.S. Ho visto che lo script è vecchiotto (2002), tuttavia è l'unica soluzione elegante e pratica che ho trovato per risolvere il problema della disattenzione altrui, peccato che (quasi come sempre) FireFox interpreti il codice a modo suo e soprattutto diversamente da IE.

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Perdona, mi sono spiegato da cani vorrei vedere il codice che va dentro alla popup che si apre nel controllo chiusura... cioe' la pagina chkout.htm

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Ah ok, te lo posto subito.

    Ti premetto che rispetto al tuo c'è solo una modifica, nella parte che rileva il cambio di dominio, e che ho provato anche a metterlo proprio uguale e preciso, ma sempre con lo stesso problema della non esecuzione dello script.
    E che ho tolto la riga di commenti quella fatta coi trattini ----------
    perchè il validatore del w3c la considera errore :rollo:

    Ho provato altresì a mettere lo script dentro l'head, ma in quel caso neanche con IE funziona.

    Di "mio", ho aggiunto solo il DTD xhtml transitional, per abitudine più che per altro, con IE funzionava anche in quirks mode. ;-)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Uscita</title>
    <link rel="stylesheet" href="stile.css" type="text/css" />
    </head>
    <body background="grafica/home/imageNEW.jpg">
    <script type="text/javascript">
    <!-- // (c) br1 - 2002
    prossima = "logout.php";
    cartella = location.search.substr(1);
    messaggi = true;
    if (window.opener.closed) {
    if (messaggi) alert("Stai lasciando Grendahl, arrivederci!")
    c_logout();
    } else {
    opener.focus();
    from = opener.location;
    if (typeof(from.href)=="unknown") {
    if (messaggi)
    c_logout();
    } else if (cartella!=""&&from.href.indexOf(cartella)>0) {
    if (messaggi)
    c_logout();
    } else {
    top.close();
    }
    }
    function c_logout() {
    if (prossima!="") {
    location.href=prossima;
    } else {
    top.close();
    }
    }
    //-->
    </script>
    </body>
    </html>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.