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

    Javascript: azione su pagina da altra pagina

    Salve,
    da una prima pagina apro una seconda pagina
    come posso, chiudendo questa seconda pagina, ricaricare automaticamente la prima pagina?
    e più genericamente come posso richiamare un'azione sulla prima pagina dalla seconda, non essendo questa una pagina figlia?
    grazie in anticipo

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Le la seconda pagina non e' "figlia" puoi fare qualcosa solo se la finestra d'origine ha un name assegnato ed entrambe appartengono allo stesso dominio (per essere precisi: anche stesso protocollo).

    Nella prima metti un semplice:
    <script>self.name="principale"</script>

    Quindi dalla seconda potrai riferirti alla prima con un:
    win_principale = window.open("","principale");

    Quindi eseguire i suoi script con:
    win_principale.nomescript();
    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
    ok
    dare un nome alla pagina 1 é stata la cosa che ho fatto già prima poichè ovviamente sapevo di dover poter indicare la pagina oggetto di azioni
    quindi tu mi dici di creare l'oggetto
    win_principale = window.open("","principale");
    e da qui poi lanciare lo script richiamando la funzione nomescript()
    con
    win_principale.nomescript();
    quindi la funzione per il reload la scrivo in pagina uno ovviamente

  4. #4
    ok
    ho utilizzato il tuo suggerimento ed ho ottimizzato il codice riuscendo ad ottenere quanto volessi
    mi si presenta però un unico problemino:
    se volessi ottenere il reload della pagina uno senza dover chiudere la pagina 2 e quindi non perdendo il focus di questa?

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non puoi "non perdere" il focus, ma puoi sempre riottenerlo con self.focus();

    Aspetta, non ho capito quale delle due finestre deve avere il focus alla fine...
    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

  6. #6
    ok
    si si intendevo proprio questo... so bene di perdere il focus ed avevo pensato di riottenerlo, ma non mi riesce
    ossia
    il focus va alla pagina uno, ma io vorrei riaverlo alla pagina 2
    so di poterlo riottenere con self.focus, ma non mi sono chiari i passaggi

    nella pagina 2 io ho inserito

    codice:
    <script language="javascript1.2">
        window.name="secondapagina";
        win_hp = window.open("","homepage");
    </script>
    in questo modo ho dato un nome anche alla pagina 2 ("secondapagina") ed ho agito sulla pagina 1 che ho chiamato precedentemente "homepage"
    così facendo ho ottenuto il refresh della "homepage" ma ho perso il focus della pagina due chiamata "secondapagina"
    ok, allora
    dove inserisco
    self.focus();
    per riottenere il focus sulla pagina 2?
    mi verrebbe da pensare di inserirlo dopo la linea che effettua il refresh della pagina 1
    ossia

    codice:
    <script language="javascript1.2">
         window.name="secondapagina";    
         win_hp = window.open("","homepage");
         self.focus();
    </script>
    é così?
    Ultima modifica di marco.agelao; 03-02-2014 a 21:50

  7. #7
    ho risolto
    ho inserito self.focus(); dopo win_hp.document.location.href="hp.asp";
    funziona perfettamente
    grazie davvero per l'aiuto

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.