Visualizzazione dei risultati da 1 a 9 su 9

Discussione: errore javascript

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125

    errore javascript

    sto lavorando con le window.open, e window.close

    Non vado nel dettaglio perche e' molto complicato...in caso ditemelo che saro' piu chiaro...
    cmq...mi appare l'errore javscript :

    Il chiamato(server[applicazione non server]) non e' disponibile ed e' scomparso. Tutte le connessioni non sono valide. La chiamata non e' stata effettuata.

    Perche secondo voi ho questo errore? cosa devo controllare?

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    forse fai operazioni su finestre che sono state chiuse... bisognerebbe vedere il codice e in che punto ti da l'errore

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    provo a scrivere un po di codice perche mi sa che mi sono incasinato con l'array di finestre che voglio gestire... Spero di essere abb chiaro.

    In pratica, devo gestire n finestre. Ad ogni finestra ho dato un identificativo che mi servira' per distinguerle
    N.B. Questo identificativo e' un numero composto(non un numero incrementale) cosi formato :
    ID_0000_0_0101
    oppure
    ID_0001_1_1000
    Non so se questo potrebbe essere un problema ..
    quando apro le finestre uso questo codice :
    Codice PHP:
    function popActiveX(ident){    
    //alert(finestraActive[ident]);
             
    if(finestraActive[ident]!=null){
                 
    finestraActive[ident].focus();
             }else
                 
    finestraActive[ident] =  window.open("popActiveMulti.php",ident,param);
                     
        } 
    se faccio un alert all'inizio della funzione(vedi commento) mi dice undefined...ma cmq me la apre e me la crea....se poi ripremo sullo stesso pulsante che chiama il metodo mi riapre la stessa come voglio che sia.

    I miei problemi sono quando voglio chiuderle, tutte quella create (aperte a video o chiuse con la X ) .


    E' li che quando vado a ricliccare dopo avre ciclato sul totale delle finestre e aver usato una funzione
    Codice PHP:
    function closeActiveX(id){
        if(
    finestraActive[id]!=null){
            
    finestraActive[id].close();
        }    

    che se vado a ricliccare mi dice
    "Il chiamato(server[applicazione non server]) non e' disponibile ed e' scomparso. Tutte le connessioni non sono valide. La chiamata non e' stata effettuata.
    "

    Faccio notare che non vengono chiuse le finestre aperte.


    Aiuto

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    codice:
    function popActiveX(ident){     
    //alert(finestraActive[ident]); 
             if(finestraActive[ident]!=null && !finestraActive[ident].closed){ 
                 finestraActive[ident].focus(); 
             }else 
                 finestraActive[ident] =  window.open("popActiveMulti.php",ident,param); 
                      
        }
    function closeActiveX(id){ 
        if(finestraActive[id]!=null && !finestraActive[id].closed){ 
            finestraActive[id].close(); 
        }     
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    ma secondo te e' giusto come uso l'array? perche intanto che scrivevi ho provato cosi
    finestraActive.push(window.open("popActiveMulti.ph p",ident,param));

    e ciclando sull'array usando la i del ciclo come indice si chiudono in effetti....pero' ho errori da altre parti...io alle finestre voglio riferirmi cosi ...se possibile
    finestraActive[ID_0000_0_0101];

    che dici?

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    certo che va bene come usi l'array... solo che tu non controllavi se la popup era stata chiusa.

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da stiffa
    finestraActive[ID_0000_0_0101];
    questo ovviamente sarebbe
    codice:
    finestraActive['ID_0000_0_0101']

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    ma l'array...e' sempre lungo 0 se non uso il push....va bene ? mi sa strano...

    e cmq non me le chiude....

    lui vuole che ciclo cosi
    for(i=0;i<arrayWin.length;i++){
    finestraActive[i].close()
    }


    cosi me la fa ma solo se le ho aggiunte prima con il push....

    mentre la mia tecnica, che quando le creo uso il numero binario come riferimento...
    finestraActive['ID_0000_0_0101'] = ......

    non me le chiude.....



    (passo la variabile stringa....avevo scorato di fartela vedere con gli apici...ma vabeh....avevi capito cmq)

  9. #9
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    se invece di usare un indice numerico usi delle stringhe la proprietà length non cambia
    se vuoi chiudere tutte le finestre puoi fare un ciclo for in
    ti faccio un esempio
    codice:
    <script>
    var finestraActive = new Array()
    var param='width=300,height=200'
    function popActiveX(ident){     
    	if(finestraActive[ident]!=null && !finestraActive[ident].closed)
    		finestraActive[ident].focus(); 
    	else 
    		finestraActive[ident] =  window.open("popActiveMulti.php",ident,param); 
    }
    function closeActiveX(id){ 
    	if(finestraActive[id]!=null && !finestraActive[id].closed)
    		finestraActive[id].close();
    }
    function closeAll(){
    	for(ident in finestraActive)
    		if(finestraActive[ident]!=null && !finestraActive[ident].closed)
    			finestraActive[ident].close();
    }
    
    </script>
    <form>
    <input type="button" name="df" value="apri1" onclick="popActiveX('ID_0000_0_0101');">
    <input type="button" name="df" value="chiudi1" onclick="closeActiveX('ID_0000_0_0101');">
    <hr>
    <input type="button" name="df" value="apri2" onclick="popActiveX('ID_0001_1_1000');">
    <input type="button" name="df" value="chiudi2" onclick="closeActiveX('ID_0001_1_1000');">
    <hr>
    <input type="button" name="df" value="apri3" onclick="popActiveX('ID_0001_1_1001');">
    <input type="button" name="df" value="chiudi3" onclick="closeActiveX('ID_0001_1_1001');">
    <hr>
    <input type="button" name="df" value="chiudi tutte" onclick="closeAll();">
    </form>

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.