[Javascritp] Como forçar full-refresh a pagina carregada com "history.go(-1)"

Armadillo

Folding Member
01 pessoal!

Hoje parece o dia do Javascript :007:

entao passa-se o seguinte:
Tenho um form, o "action" deste form manda-me para um ".asp". Dentro deste ".asp", tenho a seguinte linha de codigo:
Código:
response.write "<script>history.go(-1)</script>"
Ou seja, depois de fazer o processamento todo, volta á pag. originaria. Mas o form mantem-me os dados inseridos. Como faço para o form nao manter os dados?

Nao posso usar nem redirects nem nada do genero por n razoes que nao vale a pena explicar, por isso comentarios em que refiram essa opçao é puro spam.


cumps
abraço a todos
 
talvez se houver algum evento idêntico ao onLoad, mas que também seja executado ao retroceder, mas se há eu não conheço

outra solução não tão "bonita" pode ser, em vez de botão de submit crias apenas um botão, que ao ser clicado, chama uma função que armazena temporariamente os dados do formulário, apaga-o, e cria um formulário temporario, invisivel que por sua vez é submetido automaticamente

EDIT:
aqui uma melhor solução que acabei de encontrar:
<meta http-equiv="pragma" content="no-cache">

já testei numa form simples e resultou :D
 
Última edição:
Para ASP tenta isto:

Código:
[SIZE=-1][COLOR=#800000][/COLOR][/SIZE]<% Response.CacheControl = "no-cache" %>>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>

Podes meter conjuntamente com o código do MPalhas.

O Pragma funciona fixe.
Excepto em portais, não é boa prática.
 
aií pessoau!! ;)
pah, nao deu... ja tinha tentado antes com os no-cache, pragmas e expires-1, e tambem nao tinha dado.
Se calhar deve-se á plataforma que estou a usar.
o evento onload tambem nao faz nada usando o "history.go(-1)"
tou a ver que isto vai ficar assim e tá a andar.


abracinhos a todos :007:
 
pessoal, este é o meu cabec e só funca no Opera.
Código:
        <meta http-equiv="Content-Language" content="pt">
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
        <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
        <META HTTP-EQUIV="Expires" CONTENT="-1">

mais alguma sugestao?

cumps
 
Segundo o que aprendi, obrigar a um reload efectivo da página, só o consegues do lado do servidor. E mesmo isso não é sempre garantido, por causa dos proxies.

Para o Apache, uso:
Código:
   FileETag None
   Header unset ETag
   Header set Cache-Control "max-age=0, no-cache, no-store, private"
   Header set Pragma "no-cache"
   Header set Expires "0"

Para ASP e essas coisas do dotnet há algo semelhante. Mas já não ma lembra como fazer.
 
entao slack_guy, tudo bom?:cool:

asp fully loaded, ja nao me lembro de mais o que possa pôr
Código:
<% Response.CacheControl = "no-cache"
Response.CacheControl = "max-age=0"
Response.CacheControl = "no-store"  
Response.CacheControl = "private"  
Response.AddHeader "Pragma", "no-cache"  
Response.AddHeader "Expires", "0"   
Response.Expires = 0  
'response.ExpiresAbsolute = now %>
falta algum?:D

cumps

ps: é por esta e por outras que prefiro aplicações stand-alone:007:
 
Podes sempre acrescentar:
Código:
response.ExpiresAbsolute = Now() [B]- 1[/B]


EDIT:
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="Expires" CONTENT="-1">
Repara que eu estou a referir-me ao servidor, não à página. Isto são instruções para o browser. O que eu estou a dizer é que podes desactivar - não sei como - a cache no IIS para uma (ou mais páginas) e, assim, nem precisas de escrever esses cabeçalhos.
 
Última edição:
NOP :D
fica na mesma

este topico ta a tornar-se anedotico, pelo menos eu tou a rir-me sozinho a olhar para o código.
geek-s.jpg


cumps
 
O que eu estou a dizer é que podes desactivar - não sei como - a cache no IIS para uma (ou mais páginas) e, assim, nem precisas de escrever esses cabeçalhos.

Teoricamente serviria apenas isto.
Código:
Response.CacheControl = "private"
Julgo que deve ser as DLL's fantasticas aqui dos manos dos CMS que me estao a marar isto.
Tambem nao é grave. Sempre deu pra rir á custa de meia-duzia de linhas de codigo.

Ja tou como o Jotenko "Deixem de ser nerds" :lol:.

agradeço a todos por perderem tempo com esta treta :rrotflm:
abraços
 
nao, slack_guy.
obrigado pela ajuda. ja tentei de tudo. ja tive ai tambem, por acaso, e por outras semelhantes.

nao vale apena continuar a bater no ceguinho.
há alguma coisa do alem (DLL) que me tá a modificar as propriedades e eu tenho que me render. e, sim, tenho mesmo que usar esse componente malefico do Demo. :007:

CMS really suck!!

Cumps, abraços e bejinhos

(pah hoje tou de bom humor, é o que me vale :D)

ps: ouçam acid jazz a programar que é bem fixola:003:

ainda nao vi o segundo mas digo qualquer coisa ;)

EDIT: Ja vi, mas os poderes do demo sao reamente grandes. Vou ler um bocado do Tao of programming
Nao se preocupem que isto nao vai ser pra correr em centrais nucleares ;) E mesmo assim nao crasha, é so pr ficar mais "venito"
:wavey:
 
Última edição:
ps: ouçam acid jazz a programar que é bem fixola:003:

Lol, isso e uma garrafa de whisky. :joker:

Esta ideia pode parecer um bocado estúpida e artesanal mas já tentaste fazer com que o url mude por parametro para ser obrigado a fazer refresh?

tipo:

<%
time_var = year(now) & month(now) & day(now) & hour(now) & minute(now) & second(now)
%>
<a href="paginaExemplo.asp?parametro=<%=time_var%>">A minha página</a>
 
O workaround que o Mavors sugere é pertinente. Nos primórdios do AJAX, tinhamos de fazer uma coisa semelhante por causa do IE, caso contrário vinha sempre o conteúdo anterior, que estava em cache.

EDIT:
ooppsss... lembrei-me que estás a falar do 'back button'. Ou seja, não há link. hum... voltando ao problema....
 
Já tentei, fica na mesma :D Pus no endereço, mas prontos... Nao faz nada mas é fixe programar e ainda me pagam pra isso.
Eu tou rofl. A serio... Deve ser ja a musica a fazer efeito

Aí, party people , "idendo" dar dois de letra com Jack Daniels, que ele é um gajo porreiro, que eu tambem de caminho vai falar com ele.
Deixem lá, vao amestrar o mouse, mudar as lampadas do vosso escritório, façam o vosso proprio compilador com uma linguagem exotica. Este codigo acabou de mudar para o estado Legacy.

For jet it.
Go home. :D

Pessoal, obrigadao pela vossa disponibilidade! Voces sao 5*!!
Abraço a todos.

Voces nao respondam mais ou vou ser obrigado a fazer report:joker:
Ide pro geral, que tem assuntos interessantes. Deixem de ser nerds!! lolol

 
Back
Topo