A partir de um documento filho de origem diferente, você não tem permissão para acessar a location.hashpropriedade da janela superior , mas tem permissão para definir a locationprópria propriedade.
Isso significa que, dado que a localização da janela superior é http://example.com/page/, em vez de
parent.location.hash = "#foobar";
você precisa saber a localização dos pais e fazer
parent.location = "http://example.com/page/#foobar";
Como o recurso não é navegado, isso funcionará conforme o esperado, alterando apenas a parte hash do url.
Se você estiver usando isso para comunicação entre domínios, eu recomendaria usar easyXDM .