封装方法

	/**
	 * setLocalStorage
	 */
	common.setLocalStorage = function(key, value, isJson) {
		common.debugPrint("设置localStorage数据key=" + key + ",是否为json数据:" + (isJson ? "true" : "false"));
		if (!common.supportStroage()) {
			cpic.alert("暂不支持无痕浏览!");
			return;
		}
		if (window.localStorage) {
			if (isJson) {
				value = JSON.stringify(value);
			}
			common.debugPrint("设置localStorage数据key=" + key + ",value=" + value);
			try {
				window.localStorage[key] = value;
			} catch (e) {
				//处于无痕模式时,存放到cookie当中
				common.debugPrint("当前浏览器处于无痕模式");
				cpic.alert("不支持无痕浏览!");
			}

		} else {
			_this.debugPrint("当前浏览器不支持localStorage");
		}
	};

	/**
	 * getLocalStorage
	 */
	common.getLocalStorage = function(key, isJson) {
		//    	common.debugPrint("获取localStorage数据key=" + key + ",是否为json数据:" + (isJson ? "true" : "false"));
		if (!common.supportStroage()) {
			cpic.alert("暂不支持无痕浏览!");
			return;
		}
		if (window.localStorage) {
			var value = window.localStorage[key] || "";
			if (isJson && value) {
				value = JSON.parse(value);
			}
			//            common.debugPrint("获取localStorage数据key=" + key + ",value=" + value);
			return value;
		} else {
			common.debugPrint("当前浏览器不支持localStorage");
		}
	};

	/**
	 * removelocalStorage
	 */
	common.removeLocalStorage = function(key) {
		common.debugPrint("移除localStorage数据key=" + key);
		if (!common.supportStroage()) {
			cpic.alert("暂不支持无痕浏览!");
			return;
		}
		if (window.localStorage) {
			window.localStorage.removeItem(key);
		} else {
			common.debugPrint("当前浏览器不支持localStorage");
		}
	};

	/**
	 * 判断是否支持无痕Local\sessionStroage
	 */
	common.supportStroage = function() {
		var flag = true;
		try {
			if (window.localStorage) {
				//window.localStorage['test'] = "test";
			} else {
				flag = false;
			}
		} catch (e) { //对于无痕模式下会出现异常
			flag = false;
		}
		return flag;
	};

用法

common.setLocalstorage("aaa",json,true)
common.getLocalstorage("aaa",true)
common.removeLocalstorage("aaa")
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐