다른 모든 답변은 정확합니다. 이 답변은 한 페이지 가 여러 개 ul.nav.nav-pills이거나 ul.nav.nav-tabs같은 페이지에 있을 수 있다는 사실을 고려합니다 . 이 경우 이전 답변이 실패합니다.
여전히 사용 localStorage중이지만 JSON값 으로 문자열 화 되었습니다. 다음은 코드입니다.
$(function() {
var json, tabsState;
$('a[data-toggle="pill"], a[data-toggle="tab"]').on('shown', function(e) {
var href, json, parentId, tabsState;
tabsState = localStorage.getItem("tabs-state");
json = JSON.parse(tabsState || "{}");
parentId = $(e.target).parents("ul.nav.nav-pills, ul.nav.nav-tabs").attr("id");
href = $(e.target).attr('href');
json[parentId] = href;
return localStorage.setItem("tabs-state", JSON.stringify(json));
});
tabsState = localStorage.getItem("tabs-state");
json = JSON.parse(tabsState || "{}");
$.each(json, function(containerId, href) {
return $("#" + containerId + " a[href=" + href + "]").tab('show');
});
$("ul.nav.nav-pills, ul.nav.nav-tabs").each(function() {
var $this = $(this);
if (!json[$this.attr("id")]) {
return $this.find("a[data-toggle=tab]:first, a[data-toggle=pill]:first").tab("show");
}
});
});
이 비트는 모든 페이지의 전체 앱에서 사용할 수 있으며 탭과 알약 모두에서 작동합니다. 또한 탭이나 알약이 기본적으로 활성화되어 있지 않은지 확인하세요. 그렇지 않으면 페이지로드시 깜박임 효과가 나타납니다.
중요 : 부모 ul에게 ID가 있는지 확인하십시오 . 감사합니다 알랭