Мне наконец удалось решить это. Проблемой был скрытый символ (первый байт строки), из-за которого метод JSON.parse()
не удался. Что я сделал, чтобы обойти это следующее: const xData = data.substr(1)
.
У меня это работает
$('ul.questions li a').click(function(event) {
event.preventDefault();
$('.tab').hide();
window.location.hash = this.hash;
$($(this).attr('href')).fadeIn('slow');
});
Здесь http://jsbin.com/edicu есть демонстрация с почти идентичным кодом
Можно установить хеш непосредственно на URL также.
window.location.hash = "YourHash";
результат: http://url#YourHash
Вы можете попробовать поймать событие onload. И остановка распространения зависит от какого-то флага.