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

Discussione: location.replace(url)

  1. #1
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336

    location.replace(url)

    L'istruzione location.replace(url) fa sempre una nuova richiesta al server o utilizza eventuali pagine in cache?
    Ve lo chiedo perchè ho inserito in una popup:
    codice:
    <body onload="self.opener.location.replace('miapagina.jsp?'+'parametri+'#'+nomeAnc);setTimeout('window.close();',3000);">
    ma non sembra fare sempre una richiesta al server (almeno, ho un breakpoint nella jsp e non sempre si ferma)... la cosa più sempice che mi viene in mente è che quando la pagina è già stata richiamata la recuperi semplicemente dalla cache.... se è così, c'è un modo per evitarlo?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    se non l'hai già fatto, prova a mettere nell'header della pagina questi

    codice:
    <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
    <META HTTP-EQUIV="pragma" CONTENT="no-cache">
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Intendevi nella pagina jsp vero? Se sì, le ho messe ma non è cambiato nulla... non sono sicura che sia un problema di cache, ma non mi viene in mente nient'altro...

  4. #4
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Un momento.... quanto conta l'ancora?
    Cioè, in pratica, nella finestra principale io ho sempre la stessa pagina, con una tabella in cui in ogni cella c'è un'ancora. Cliccando su una cella si apre una pop up che eprmette di fare alcune cose, terminate le quali compare una scritta di operazione eseguita per tre secondi, poi la pop up si chiude e intanto viene richiamato il window.opener.location.replace con la solita pagina e come ancora la cella scelta.... in pratica vorrei fare un refresh delal pagina posizionandomi sulla cella che era stata scelta. Ora ho notato che scegliendo in sequenza tre celle diverse la pagina viene effettivamente refreshata solo la prima volta....

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    per curiosità questo problema si verifica con tutti i browser o ne stai provando uno solo?

    e un'altra cosa: usi location.replace per qualche motivo particolare o potresti scrivere al suo posto location.href?

    potresti testare e vedere se i due metodi generano lo stesso problema apparente.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Sto provando sia con Firefox che con IE, stesso problema (qualunque esso sia...).
    Motivo particolare? No, in realtà non so neanche la differenza fra usare replace e href, la prima volta che mi serviva fare una cosa del genere mi è stato suggerito replace() e quindi ho usato sempre quello... Però ora provo a cambiare!

  7. #7
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Nessuna novità anche con href, stesso problema....
    In compenso ho notato una cosa: lo script sicuramente funziona perchè la pagina si riposiziona effettivamente, solo non fa una nuova richiesta al server... in pratica riposiziona la pagina che già c'era sull'ancora giusta.... solo che io vorrei che richiedesse la pagina al server... Infatti al primo giro fa la corretta richiesta al server, poi continua a riproporre la stessa pagina finchè non faccio un refresh o cambio pagina, quindi si ricomincia: ok il primo giro, no i successivi, ecc. .... aiuto.....

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se non cambi l' indirizzo
    window.location.reload(true)
    la richiede al server

    se cambi l' indirizzo, dal momento che mi sembra gia' stia passando parametri in querystring, tienine uno che cambi sempre (tipo millisecondi ottenuti da un oggetto Date)

    ciao

  9. #9
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Non posso fare semplicemente il reload perchè perdo il riposizionamento dato dall'ancora e perchè, a seconda delle operazioni, potevano esserci dei parametri passati in post, per cui compare la solita finestrella che propone di re-inviare i dati e preferirei evitarla....
    Invece con il parametro funziona, grazie! Era quindi un problema dovuto al fatto che la pagina era la stessa già visualizzata?

  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se la pagina ha stesso indirizzo (l' hash non conta, ma la querystring si') viene sempre ripescata dalla cache
    a meno che non vi siano opportuni meta ad impedirlo,
    i classici <meta> non sono affidabili
    al contrario di quelli impostati attraverso un linguaggio lato server

    ciao

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.