UPDATE
Для Bootstrap 3 измените .on('shown', ...)
на .on('shown.bs.tab', ....)
Это основано на @ dubbe ответе и ТАК принятом ответе Это решает проблему с window.scrollTo(0,0)
, которая не работает правильно. Проблема в том, что когда вы заменяете хеш URL на показанной вкладке, браузер прокручивает этот хеш, так как это элемент на странице. Чтобы обойти это, добавьте префикс, чтобы хеш не ссылался на фактический элемент страницы
// Javascript to enable link to tab
var hash = document.location.hash;
var prefix = "tab_";
if (hash) {
$('.nav-tabs a[href="'+hash.replace(prefix,"")+'"]').tab('show');
}
// Change hash for page-reload
$('.nav-tabs a').on('shown', function (e) {
window.location.hash = e.target.hash.replace("#", "#" + prefix);
});
Пример использования
Если у вас есть панель вкладок с id = "mytab", вам нужно разместить ссылку следующим образом:
<a href="yoursite.com/#tab_mytab">Go to Specific Tab </a>