Pergunta

Eu estou usando window.onback = history.forward (); para impedir que os usuários enviar novamente os dados. Eu sei que é um truque e eu não gosto disso também, mas não é isso que esta questão é sobre. O problema é que o código impede que outras páginas de volta para a página com o código vai. Deixe-me esclarecer.

PageA.aspx tem o código JavaScript na mesma. O PageA submete usuário, bate para trás, e nada acontece. Isso é bom. Agora, o usuário clica em um link para PageB.aspx, o que faz não tem o código. Quando o usuário clica no botão Voltar, o que deve levá-la para PageA.aspx, isso não acontece. Ele apresenta o mesmo comportamento como se Página B tinha o código JavaScript no-volta.

Aqui está como eu tê-lo implementado em PageA.aspx:

<script type="text/javascript">
window.onback = history.forward();
</script>

Eu confirmaram que este código é apenas em PageA.aspx e não no mestre, inclui, ou qualquer outra coisa. Esta é uma aplicação ASP.NET 2.0 em execução no SharePoint 2007. O navegador é IE7.

Todas as idéias?

Foi útil?

Solução

Eu não tenho o tempo (ou SharePoint07) para reproduzir você ambiente e cenário, mas o que se você colocar um teste de localização no JavaScript?

Algo parecido com isto:

<script type="text/javascript">
if (window.location.indexOf("PageA.aspx", 0) > 0)
{
   window.onback = history.forward();
}
</script>

Eu não posso explicar o que está acontecendo, mas isso deve ajudar a limitar o âmbito do hack.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top