Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    19

    Problema con location in un sistema complesso

    Ho un problema di questo tipo:
    per ragioni di lavoro, dovo inglobare la mia applicazione web in un portale di terza parte. La mia applicazione web è formata da un frameset. Tale applicazione viene inclusa in un iframe del portale. Ho la necessità, nel momento in cui scade la mia sessione applicativa, richiamare l'URL del portale (in altre parole devo eseguire un refresh dell'intero portale, ri-eseguendo l'URL del portale stesso, ossia simulare la pressione del tasto F5 sull'intera pagina). Dal frame 'main' della mia applicazione, nella pagina html che gestisce la sessione scaduta, eseguo nel suo body onLoad la seguente funzione javascript top.location.reload(). Effettivamente, sembra proprio che il browser ri-esegua l'URL del portale, però, per quanto riguarda l'iframe del portale e il frame 'main' sembra invece ricordarsi l'ultima chiamata fatta. Quindi, nel mio frame 'main' continua a chiamare la pagina di errore sessione, innescando un loop da paura.
    Qualcuno ha qualche idea del perchè succede questo e di come risolverlo?

    NB: ho provato sia con IE6 che con Firefox e il problema si verifica in entrambe i Browser. Sembra quindi una specifica del metodo reload() della location.

    Thank's in advance!
    Michele

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    19
    Inoltre, testata la cosa direttamente dal cliente, l'istruzione top.location.reload() mi restituisce "Access Denied". Quindi non riesco a eseguire il refresh del portale! :master:

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    corretto,
    sei tra 2 domini differenti, per motivi di sicurezza non puoi interagire con documenti appartenenti a dominio diverso da quello del documento di partenza

    non puoi fare nulla, se non far ospitare la tua applicazione nel suo dominio (anche un dominio di terzo livello dovrebbe funzionare, x es. applicazione.suodominio.it)

    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    19
    Mi verrebbe in mente un'altra soluzione. Ossia di chiedere al cliente se è disposto a inglobare nel suo portale la mia funzione javascript che esegue l'istruzione top.location.reload() e io, dalla mia applicazione potrei invocare tale funzione con top.document.nomeFunzioneReload.
    Meglio ancora sarebbe creare una pagina htm da inglobare nel loro dominio la quale esegue il reload del top nel suo body onLoad; io dalla mia applicazione, nel momento in cui scade la mia sessione, cambio la location del mio parent (cioè dell'iframe; questo lo posso fare!!!) impostandogli la pagina appena creata.
    Non mi resta che provare. Se funziona lo posto nel forum, potrebbe sicuramente servire a qualcuno che impatta nella mia stessa problematica!!!

    Grazie
    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    19
    Ho trovato la soluzione al problema.
    Come promesso, la posto qui, nel caso qualcuno ne avesse di bisogno.
    Nella pagina html che esegue l'istruzione top.location.reload() e che riceve il messaggio "Permission Denied" a causa del differente dominio fra l'applicazione ospitante e l'applicazione ospitata, è necessario inserire la seguente istruzione nell'head della pagina stessa:

    <script type="text/javascript">
    document.domain = "dominioApplicazioneOspitante";
    </script>


    Thanks for all
    Miche

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.