Por que window.history.go () não funciona em algumas páginas?

0

(editar: mudou a maior parte da questão)

Eu recebi minha resposta sobre Como ir para o próprio primeira página de uma guia .

Basicamente, um bookmarklet

  javascript:window.history.go(-(window.history.length - 1))

Funciona bem em todas as páginas, mas em algumas páginas, especialmente as que ficaram ociosas por um longo tempo, não funciona.

Existe uma maneira melhor de usar esse bookmarklet?

    
por Ring Ø 01.12.2010 / 17:31

1 resposta

0

Eu tentaria adicionar alguma forma de validação no valor que você está passando. Além disso, você diz que não funciona, mas não diz como isso não funciona (por exemplo, "atualiza a página atual" ou "volta para a primeira página mais 1")

Cribbed from w3:

The go(delta) method causes the UA to run the following steps:

   1. If the argument to the method was omitted or has the value zero, then act as if the location.reload() method was called instead, and abort these steps.
   2. Let delta be the argument to the method.
   3. If the index of the current entry of the joint session history plus delta is less than zero or greater than or equal to the number of items in the joint session history, then the user agent must do nothing.
   4. Let specified entry be the entry in the joint session history whose index is the sum of delta and the index of the current entry of the joint session history.
   5. Let specified browsing context be the browsing context of the specified entry.
   6. Traverse the history of the specified browsing context to the specified entry.
    
por 29.12.2010 / 22:31