Como posso saber se uma página saltou para a âncora (#) em javascript?

Eu tenho algum javascript que pode aparecer em muitas páginas diferentes. Às vezes, essas páginas são acessadas através de um URL que contém uma referência de âncora (# comment-100, por exemplo). Nesses casos, quero que o javascript atrase a execução até que a janela tenha saltado. No momento, estou apenas usando um atraso, mas isso é bastante tolo e obviamente não funciona em todos os casos. Não consigo encontrar nenhum tipo de evento DOM que corresponda à janela "pular".

Além do atraso simples, a única solução que eu encontrei é fazer com que o JS procure a âncora na URL e, se encontrar uma, observe as alterações no scrollTop. Mas isso parece um erro, e não tenho 100% de certeza de que meu script sempre será acionado antes que a rolagem ocorra, portanto, ele só será executado se o usuário rolar a página manualmente. De qualquer forma, eu realmente não gosto da solução e preferiria algo mais orientado a eventos. Alguma sugestão?

Edite para esclarecer:

Não estou tentando detectar uma alteração de hash. Veja o seguinte exemplo:

A página index.php contém um link para post.php # comment-1O usuário clica no link para post.php # comment-1post.php # comment-1 carrega$ (documento) .já é acionadoNão muito tempo depois, o navegador desce até # comment-1

Estou tentando detectar com segurança quando a etapa 5 acontece.

questionAnswers(3)

yourAnswerToTheQuestion