คำตอบอื่น ๆ ทั้งหมดถูกต้อง คำตอบนี้จะคำนึงถึงความจริงที่ว่าอาจมีหลายรายการ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
มีรหัส ขอบคุณ Alain