123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- //存储媒介封装
- var LocalStorage = (UE.LocalStorage = (function() {
- var storage = window.localStorage || getUserData() || null,
- LOCAL_FILE = "localStorage";
- return {
- saveLocalData: function(key, data) {
- if (storage && data) {
- storage.setItem(key, data);
- return true;
- }
- return false;
- },
- getLocalData: function(key) {
- if (storage) {
- return storage.getItem(key);
- }
- return null;
- },
- removeItem: function(key) {
- storage && storage.removeItem(key);
- }
- };
- function getUserData() {
- var container = document.createElement("div");
- container.style.display = "none";
- if (!container.addBehavior) {
- return null;
- }
- container.addBehavior("#default#userdata");
- return {
- getItem: function(key) {
- var result = null;
- try {
- document.body.appendChild(container);
- container.load(LOCAL_FILE);
- result = container.getAttribute(key);
- document.body.removeChild(container);
- } catch (e) {}
- return result;
- },
- setItem: function(key, value) {
- document.body.appendChild(container);
- container.setAttribute(key, value);
- container.save(LOCAL_FILE);
- document.body.removeChild(container);
- },
- //// 暂时没有用到
- //clear: function () {
- //
- // var expiresTime = new Date();
- // expiresTime.setFullYear(expiresTime.getFullYear() - 1);
- // document.body.appendChild(container);
- // container.expires = expiresTime.toUTCString();
- // container.save(LOCAL_FILE);
- // document.body.removeChild(container);
- //
- //},
- removeItem: function(key) {
- document.body.appendChild(container);
- container.removeAttribute(key);
- container.save(LOCAL_FILE);
- document.body.removeChild(container);
- }
- };
- }
- })());
- (function() {
- var ROOTKEY = "ueditor_preference";
- UE.Editor.prototype.setPreferences = function(key, value) {
- var obj = {};
- if (utils.isString(key)) {
- obj[key] = value;
- } else {
- obj = key;
- }
- var data = LocalStorage.getLocalData(ROOTKEY);
- if (data && (data = utils.str2json(data))) {
- utils.extend(data, obj);
- } else {
- data = obj;
- }
- data && LocalStorage.saveLocalData(ROOTKEY, utils.json2str(data));
- };
- UE.Editor.prototype.getPreferences = function(key) {
- var data = LocalStorage.getLocalData(ROOTKEY);
- if (data && (data = utils.str2json(data))) {
- return key ? data[key] : data;
- }
- return null;
- };
- UE.Editor.prototype.removePreferences = function(key) {
- var data = LocalStorage.getLocalData(ROOTKEY);
- if (data && (data = utils.str2json(data))) {
- data[key] = undefined;
- delete data[key];
- }
- data && LocalStorage.saveLocalData(ROOTKEY, utils.json2str(data));
- };
- })();
|