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

    Conoscere se si è dentro un frame

    Ciao a tutti,
    ho il seguente problema.

    Ho una pagina, o meglio molte pagine che in alcuni casi vengono aperte dentro a un iframe da un altro sito.

    Per evitare di lavorare su due versioni differenti, avrei la necessità di sapere se la pagina è all'interno di un frame, in modo da forzare dei cambi al css, oppure se è visto "normalmente".

    E' una cosa possibile?

    Grazie!!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Certamente non con ASP

    Lato client con javascript si e' all'interno di un frame quando (self != top)

    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

  3. #3
    Originariamente inviato da br1
    Certamente non con ASP
    mica vero...

    Ho fatto alcune prove, su vari server, pare che il "top url" sia contenuto all'interno di
    Request.ServerVariables("HTTP_REFERER")

    Se gli iframe sono su domini diversi dal tuo, puoi sapere dove viene visualizzata la pagina semplicemente con:

    codice:
    if(Request.ServerVariables("HTTP_REFERER")<>"" and InStr(Request.ServerVariables("HTTP_REFERER"),"tuodominio.it"))then
    	Response.Write("Same domain")'tuo dominio
    else
    	Response.Write("Other domain")'iframe
    end if

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    ... cosi' sai solo chi ti ha chiamato, non se stai in un iframe ...
    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

  5. #5
    ...ma se la chiamata viene da un dominio diverso...

  6. #6
    Ho provato proprio adesso il tuo suggerimento.

    Effettivamente la prima chiamata viene risulta essere dal top frame, ma una volta che si visitano le pagine da dentro l'iframe il referrer risulta poi corretto.

    Non va bene per quello che serve a me... nella pagina incriminata ci sono dei link che puntano ai vari sottodomini...

    Il problema è che alcuni ne utilizzano più di uno contemporaneamente, ed alcuni potrebbero farlo con qualche sottodominio tramite iframe e altri dal sito "normale".

    Essendo un'eventualità un po rara credo lavorerò tramite cookie globali salvando il valore al primo arrivo.

    Grazie comunque, almeno è un punto da cui partire

  7. #7
    Un'alternativa al confronto tra self e top url potrebbe essere il passaggio di un parametro tramite querystring.
    Per i tuoi scopi potresti usare tuoFile.asp?usoInterno=true, in mancanza del parametro sarebbe un uso "esterno".

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.