项目中要使用到保存最近浏览的历史记录的需求,使用cookie做了一份,备用。
function writeCookie(obj, arylength) {
var history = $.cookie("project_history");
// $.cookie("project_history",null)
var projectId = $("#" + $(obj).prev().attr("id")).val().toLowerCase();
var projectName = $(obj).html().Trim();
if (history != null && history != "undefined") {
var newhistory = "";
var sethistory = "";
var strArray = history.split('|');
//判断是否存在相同的ID,如果存在,则将点击的条目放到第一位,否则添加新纪录
if (history.indexOf(projectId) == -1) {
//判断数组长度是否小于显示条数
if (strArray.length > arylength) {
for (var i = arylength; i < strArray.length; i++) {
//清除多余的数据,从满足条数的后一条数据开始移除
strArray.splice(i);
}
//重新组合历史数据
for (var m = 0; m < strArray.length; m++) {
sethistory = sethistory + strArray[m] + "|";
}
sethistory = sethistory.substring(0, sethistory.length - 1);
}
else {
sethistory = history;
}
newhistory = projectId + "#" + projectName + "|" + sethistory;
}
else {
//移除掉点击的项目
var index = 0;
for (var x = 0; x < strArray.length; x++) {
var equalItem = projectId + "#" + projectName;
if (equalItem == strArray[x]) {
strArray.splice(x);
break;
}
}
//重新组合历史数据
for (var m = 0; m < strArray.length; m++) {
sethistory = sethistory + strArray[m] + "|";
}
sethistory = sethistory.substring(0, sethistory.length - 1);
newhistory = projectId + "#" + projectName + "|" + sethistory;
}
$.cookie("project_history", newhistory);
}
else {
$.cookie("project_history", projectId + "#" + projectName);
}
}
function createHistoryList(url,container) {
var str = new Array();
var historyList = $.cookie("project_history");
if (historyList != null && historyList != "undefined") {
str = historyList.split('|');
var trHtml = "";
for (var i = 0; i < str.length; i++) {
trHtml += "<tr><td><a href='" + url + str[i].split('#')[0] + "' target='_blank'>" + str[i].split('#')[1] + "</a></td></tr>";
}
var tableHtml = "<table class='grgz_tab001'>" + trHtml + "</table>";
$("#" + container).html(tableHtml);
}
}