Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 33
  1. #11
    esatto, 1 significa true, potresti usare anche 14 o 'ciao' o true: 1 è più rapido.

    La sintassi della associativa è

    var ammessi={
    'valore chiave' : 'valore',
    'valore chiave2' : 'valore2',
    'valore chiave3' : 1,
    'valore chiave 4' : 1264323,
    'valore chiave 5' : true,
    'valore chiave 6' : false
    };

    eccetera

    cioè graffa
    chiave duepunti valore virgola(tranne all' ultimo record, che non è più seguito da virgola)
    ecc
    graffa chiusa

  2. #12
    ho pensato di fare una cosa.... siccome io uso spesso variabili asp in script javascript, importo un txt contenente una variabile = tutte le associazioni chiave : valore,
    poi nello script pongo var ammessi = {<%=variabile%>} e lo uso come dici tu.... sono sicuro che va

  3. #13
    come preferisci.

    Ma complessificare dal lato server mi pare inutile in questo caso. Se hai una dozzina di href, scrivi quelle direttamente sul lato client e basta.
    vedi te, fai un po' di test. Io non coinvolgerei il server in questo (a meno che tu non abbia centinaia di pagine abilitate a questo scopo, ma allora sarebbe una concezione discutibile del sito ed è altro discorso)

    assicurati di aver seguito le indicazioni prima di desumere che non funzioni (non lo dico per cattiveria, ma per cercare di mantenerci nei limiti di un thread normale. Il problema lo risolve opener.location.href, il resto è adeguamento concettuale attorno a quello)

  4. #14
    certo, certo.... domani testo il tutto e poi scrivo.
    Il sito è assolutamente ottimizzato e altamente dinamico. Molto performante.
    Ho proposto quell'idea semplicemente perchè a me piace automatizzare tutto.
    Ti faccio sapere nonappena provo.
    Grazie

  5. #15
    Ok... allora.... ho fatto tutto come ti avevo detto ma la cosa non va.... ora ti mostro [la variabile "ammessi" la valorizzo nello script, per non complicare le cose, inoltre, poichè le pagine con link aggiungono parametri in allegato alla URL (querystring), parserizzo la URL spittandola in base al "?" ottenendo così, all'indice 0 dell'array, la URL epurata di tutto il resto]:

    codice:
    <script>
    var qstringa = opener.location.href;
    var stringap = qstringa.split("?");
    //stringap[0] questo è ciò che mi interessa
    
    var ammessi={'www.nomedelsito.it/Index.asp' : 1,'www.nomedelsito.it/Scuole/Elenco.asp' : 1,'www.nomedelsito.it/Scuole/Inserimento.asp' : 1};
    
    if (opener && ammessi[stringap[0]] )
         {
          /*tutto ok, resta aperto*/
         }
    else
         {
          /*chiudo*/
          self.close();     }
    </script>

  6. #16
    lo script così fa il suo dovere, però non si risolve il problema.... basta copiare l'URL che appare raggiunta la prima volta la pagina incriminata e poi incollandolo in una nuova finestra si bypassa la procedura... ossia si accede tranquillamente come se si provenisse dal sito (esattamente dalle pagine che hanno il link).

    C'è però, nel caso mio, una soluzione:
    mi hai detto che ormai è disattivata la possibilità di aprire popup celando la barra URL.... ma questa procedura io posso annullarla perchè il sito è su un server che ho in affitto... non su un provider che da spazio ad altri... è dedicato.... solo per il mio sito.

    Sai come posso riattivare la possibilità di celare la URL?

    In locale, provando il mio sito, funziona, quindi intuisco che l' IIS di default dia la possibilità di nascondere la URL... non so come si fa ma, sapendolo, nel mio server posso fare la stessa cosa....

    Tu lo sai?

  7. #17
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da marco.agelao
    beh certo così si... ma non sono ancora pratico in questo... ho sempre scritto lato server
    Continuo a non capire ... lato server hai tutti gli strumenti utili per scoprire se l'utente stava precedentemente nello stesso sito e quale pagina stava visitando
    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. #18
    Originariamente inviato da marco.agelao
    lo script così fa il suo dovere, però non si risolve il problema.... basta copiare l'URL che appare raggiunta la prima volta la pagina incriminata e poi incollandolo in una nuova finestra si bypassa la procedura... ossia si accede tranquillamente come se si provenisse dal sito (esattamente dalle pagine che hanno il link).
    Già hai detto una volta questa cosa e ti dissi di spiegare meglio che cosa faresti. Rischiamo di andare avanti all' infinito.

    Controllare l' opener.location funziona. Quello che qui desrivi francamente non capisco in che consista:

    "copiare l'URL che appare raggiunta la prima volta la pagina incriminata e poi incollandolo" - cioè anche come italiano è sconnesso, non si capisce bene. Non avertene a male, ma bisogna che ti assicuri di esser chiaro nelle tue descrizioni se vuoi risolvere questo problema.

    L' url raggiunta la prima volta - che volta?
    la pagina incriminata - che pagina?
    incollando in una nuova finestra si bypassa la procedura - non ho capito cosa si incolli nè ho capito cosa si bypassa: se lopener non c'è non c'è, e lo script deve abortire.

  9. #19
    scusate....

    sono in una pagina del mio sito
    c'è un link che porta ad aprire un popup che contiene altra pagina
    la pagina che ho aperto aprendo il popup controlla che a lanciarla sia il mio sito
    se è così, ok, altrimenti si chiude
    credo sia chiaro fin qua....no?

    se io quindi passo per il mio sito, clikko il link e giungo alla pagina che mi interessa aprendo un popup

    poi cosa faccio..... vado nella barra della URL del popup che ho appena aperto.... copio il contenuto.... apro una nuova pagina di IE che nulla ha a che fare con il mio sito.... una pagina vuota..... vado nella barra della URL.... incollo quanto ho poco prima copiato dalla URL del popup e.... apro lostesso la pagina che avevo aperto prima.....

    il punto è questo.....

    NON SI DEVE POTER FARE COSI'

    spero di esser stato chiaro.... non mi sembra complicatissimo da comprendere...

  10. #20
    Originariamente inviato da marco.agelao

    poi cosa faccio..... vado nella barra della URL del popup che ho appena aperto.... copio il contenuto.... apro una nuova pagina di IE che nulla ha a che fare con il mio sito.... una pagina vuota..... vado nella barra della URL.... incollo quanto ho poco prima copiato dalla URL del popup e.... apro lostesso la pagina che avevo aperto prima.....

    il punto è questo.....

    NON SI DEVE POTER FARE COSI'

    spero di esser stato chiaro.... non mi sembra complicatissimo da comprendere...
    E, invece lo è, perchè non si capisce come possa accadere una cosa del genere. Se la tua pagina che è destinata ad essere un popup viene aperta incollando l'url e cliccando invio (anzichè cliccando il link dalla pagina madre che deve lanciare il popup), non si deve aprire affatto perchè deve esserci il codice che dice che se non c'è l' opener, la pagina nega l'accesso.

    Come ti dicevo, qui è probabilmente un problema di come stai implementando la cosa: questo codice che nega l'accesso in caso di assenza dell' opener, evidentemente tu non lo hai implementato.

    Se la pagina destinata ad essere un pop up stabilisce che, come tu dici:

    if (opener && ammessi[stringap[0]] )
    else: chiudi

    la pagina non è accessibile senza che ci sia l' opener.

    Quello che tu stai dicendo dipende da come implementi la cosa. Quello che con ogni probabilità ti sta accadendo è che siccome se non c'è lopener tu dici che chiudi la finestra, un accesso diretto non ti permette la chiusura della finestra.

    ora, come ho già avuto modo di dirti, tu non devi solo chiuderla: devi anche stabilire un redirect, oppure un document write che ne cancella i contenuti.
    Si rischia di fare un thread infinito se non fai attenzione alla implementazione.

    if (opener && ammessi[stringap[0]] )
    {eccetera}
    else{
    location.href='www.iltuosito.com/paginachevuoite.html';
    //oppure: document.open(); document.write(); document.close();
    }

    se ti limiti a dire
    self.close()
    questo ti controlla solo che la finestra pop up non sia lanciata da una pagina madre ammessa. ma non ti chiude una finestra autonoma perchè la chiusura della finestra principale di sessione del browser è proibita per motivi di sicurezza.

    Come ti dicevo, prima di desumere che non funzioni, occorre essere sicuri che la implementazione sia quella corretta.

    Allora puoi fare così

    if (opener && !ammessi[stringap[0]] ){
    self.close();/*avendo un opener può ANCHE essere chiusa*/
    }
    else if(!opener){/*NON ha un opener, NON può essere chiusa, devi gestirlo diversamente*/
    location.href='www.iltuosito.com/paginachevuoite.html';
    //oppure: document.open(); document.write(); document.close();
    }

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 © 2026 vBulletin Solutions, Inc. All rights reserved.