我在我的bootstrap网站上有一个使用bootstrap css类的侧边菜单:
<div class="page-sidebar navbar-collapse collapse sidebar-nav">
<ul>
<li>
..
</li>
</ul>
</div>
如果用户单击选项卡,并且页面刷新,如何由用户保存打开的选项卡?任何想法?
答案 0 :(得分:2)
如果你正在使用angular ui路由器,你可以使用stateparam,如果没有其他两个选项
url params,
第二点
function getParameterByName(name, url) {
if (!url) {
url = window.location.href;
}
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
url with param page ?tab=home
$scope.tab = getParameterByName('tab'); // this is called in the controller if the page is reloaded
<强> ###编辑### 强> 然后将您的链接添加到链接
<li ng-class="active: tab === 'home' href="someurl/?tab=home"></li>
<li ng-class="active: tab === 'about' href="someurl/?tab=about"></li>
第三个选项 你可以添加带功能的ng-click
$scope.setTab = function(tab){
$window.localStorage.setItem("tab", tab);
}
您可以通过
获取标签$window.localStorage.getItem("tab");
如果标签值为空,您必须处理null
您可以使用sessionStorage
这是暂时的
set value
sessionStorage.tab = "home"
get value
$scope.tab = sessionStorage.tab