Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Frame popup window

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    54

    Frame popup window

    Buon giorno

    Ho bisogno di un aiuto per la modifica del frame di una pagina di popup.

    In sostanza, quando premo su un link della mia pagina vorrei aprire un altra pagina web esterna al mio sito ma vorrei anche che al posto della pagina principale si apra una pagina avanzata raggiungibile tramite i tasti dell'header della pagina principale.

    Ecco quello che ho fatto io (il codice è in ASP.NET ma la parte che non funzia è java)..

    codice:
    Protected Sub menub_MenuItemClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MenuEventArgs) Handles menub.MenuItemClick
    
    Dim popupScript1 As String = "<script language='javascript'>" & _
    "var MyPagina = window.open('http://localhost/sitopoz/index.asp', 'CustomPopUp', " & _
    "'location=yes, status=yes, height=768, width=1024, top=0, left=0, titlebar=yes, toolbar=yes, menubar=yes, resizable=yes');" & _
    "MyPagina.frames['Body'].location = 'Rivenditori/Body.htm';" & _
    "</script>"
    
    Page.ClientScript.RegisterStartupScript(GetType(String), "PopupScript", popupScript1)
    End Sub
    L'errore generato è che la collezione frames è vuota.
    Non so proprio come fare

    Thanks
    mmjc23

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    54
    P.S.
    La modifica del frame vorri farla, se possibile, dalla pagina che apre la popup e non modificare la pagina di destinazione in modo che si autocrei i frame nel caso in cui non li abbia.

    Thanks again
    mmjc23

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    54
    Ho trovato...la collezione Frames è nulla perchè probabilmente l'istruzione di redirect (MyPagina.frames['Body'].location = 'Rivenditori/Body.htm') scattava prima che la pagina fosse caricata completamente e quindi la collezione frames non inizializzata.

    Ho risolto eseguendo l'istruzione all'interno di un'istruzione setTimeout...il problema è che non è molto elegante e oltretutto questo Timeout potrebbe non bastare in situazioni di connessione lenta e altri problemi.

    Qualcuno conosce un qualche metodo + brillante?

    Thanks
    mmjc23

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Tu hai citato il fatto che le pagine contenute nel popup, contrariamente all'esempio postato, appartengano ad un altro dominio... oppure ho capito male?

    Se appartengono ad un altro dominio non hai la minima possibilita' di influire sulle stesse.

    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

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    54
    Appartengono ad un altro sito...costruito sempre da noi e di cui conosco quindi la struttura, i frame e le pagine che lo costituiscono.

    l'esempio postato funziona in questa modalità...ma non mi piace l'idea di usare la funzione setTimeout in quanto non sicura e dispendiosa in termini di secondi...
    sai com'è...il capo vuole cliccare e vedere immediatamente

    Inoltre essendo la pagina del body costituita anch'essa da due frame devo attendere ulteriormente 1s per modificare il body della pagina body.

    ecco il code eseguito dal link sulla pagina chiamante:
    codice:
    var MyPagina = window.open('http://192.10.110.232/sitopoz/index.asp', 'CustomPopUp', 'location=yes, status=yes, height=768, width=1024, top=0, left=0, titlebar=yes, toolbar=yes, menubar=yes, resizable=yes');
    setTimeout("MyPagina.frames['Body'].location='http://192.10.110.232/sitopoz/Rivenditori/Rivenditori_ANA.htm'",1000);
    setTimeout("MyPagina.frames['Body'].frames['subBody'].location='http://192.10.110.232/sitopoz/Rivenditori/login.asp?user=gegsrl&password=729188&tipo=ANA'",1000);
    thanks
    mmjc23

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Quando dico "dominio" intendo riferirmi alla parte sinistra dell'url

    http://www.dominio.it/pagina.htm

    se questa e' diversa (a prescidere dagli esperimenti in locale nei quali, ovviamente, funziona) non si puo' fare nulla, altrimenti se ne puo' discutere.

    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

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    54
    Non riesco a capire cosa intendi dire...anche se il dominio è diverso nell'esempio postato io potrei chiamare anche la pagina di un altro dominio con la funzione windows.open o sbaglio?

    Comunque la mia situazione è un po' particolare...
    Il sito di destinazione è già online...quello che si vuole realizzare è un altro sito web che girerà probabilmente nella rete locale aziendale e che possa richiamare però il sito (localmente cioè via Ip) passando username e password.
    Naturalmente io conoscendo il sito di destinazione, specificherò direttamente la pagina interessata senza passare dalle varie pagine intermedie.

    Thanks
    mmjc23

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da mmjc23
    ...anche se il dominio è diverso nell'esempio postato io potrei chiamare anche la pagina di un altro dominio con la funzione windows.open o sbaglio?
    Perfetto , ma il problema e' che non potrai mai essere sicuro che i frames esistano realmente perche' non potrai testarlo... e mi pare fosse questo l'inghippo.

    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

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    54
    Ma siccome la pagina che vado a chiamare è di un sito che abbiamo costruito noi, io so quanti e quali sono i frames e anche il nome...l'unico mio problema è che quando chiamo la mia funzione "MiaPagina=windows.open...." all'istruzione successiva la collezione frames è vuota e viene riempita solo dopo un periodo di n ms durante il quale la pagina crea i frame.
    thanks matteo

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da mmjc23
    Ma siccome la pagina che vado a chiamare è di un sito che abbiamo costruito noi, io so quanti e quali sono i frames e anche il nome...l'unico mio problema è che quando chiamo la mia funzione "MiaPagina=windows.open...." all'istruzione successiva la collezione frames è vuota e viene riempita solo dopo un periodo di n ms durante il quale la pagina crea i frame.
    thanks matteo
    Il fatto che il sito lo abbia realizzato tu o un peruviano/filippino/marziano non ha importanza... ma il dominio e' diverso.

    Non mi piace questo ping-pong... mi fa solo capire che non riesco piu' a spiegarmi... forse devo andare in pensione

    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

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.