browser.js
来自「Hippo CMS是一个以信息为中心的开源内容管理系统。Hippo CMS目标是」· JavaScript 代码 · 共 551 行 · 第 1/2 页
JS
551 行
catch (e) {
dojo.debug(e);
}
return false;
}, _isAvailableXPCOM:function () {
try {
if (window.Components) {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
return true;
}
}
catch (e) {
dojo.debug(e);
}
return false;
}, _isAvailableJava:function () {
try {
if (dojo.render.html.safari == true || dojo.render.html.opera == true()) {
if (navigator.javaEnabled() == true) {
return true;
}
}
}
catch (e) {
dojo.debug(e);
}
return false;
}, _getPagePath:function () {
var path = window.location.pathname;
if (/\.html?$/i.test(path)) {
path = path.replace(/(?:\/|\\)?[^\.\/\\]*\.html?$/, "");
}
if (/^\/?[a-z]+\:/i.test(path)) {
path = path.replace(/^\/?/, "");
path = path.replace(/\//g, "\\");
} else {
if (/^[\/\\]{2,3}[^\/]/.test(path)) {
path = path.replace(/^[\/\\]{2,3}/, "");
path = path.replace(/\//g, "\\");
path = "\\\\" + path;
}
}
if (/\/$/.test(path) == false && /\\$/.test(path) == false) {
if (/\//.test(path)) {
path += "/";
} else {
path += "\\";
}
}
path = unescape(path);
return path;
}, _removeXPCOM:function (filename) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var f = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
f.initWithPath(filename);
if (f.exists() == false || f.isDirectory()) {
return;
}
if (f.isFile()) {
f.remove(false);
}
}
catch (e) {
dojo.raise("dojo.storage.browser.FileStorageProvider.remove(): " + e.toString());
}
}, _removeActiveX:function (filename) {
try {
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
fileSystem.DeleteFile(filename);
}
catch (e) {
dojo.raise("dojo.storage.browser.FileStorageProvider.remove(): " + e.toString());
}
}, _removeJava:function (filename) {
try {
var applet = dojo.byId(dojo.storage.browser.FileStorageProvider._APPLET_ID);
applet.remove(filename);
}
catch (e) {
var msg = e.toString();
if (e.name && e.message) {
msg = e.name + ": " + e.message;
}
dojo.raise("dojo.storage.browser.FileStorageProvider._removeJava(): " + msg);
}
}, _writeApplet:function () {
var archive = dojo.uri.moduleUri("dojo", "../DojoFileStorageProvider.jar").toString();
var tag = "<applet " + "id='" + dojo.storage.browser.FileStorageProvider._APPLET_ID + "' " + "style='position: absolute; top: -500px; left: -500px; width: 1px; height: 1px;' " + "code='DojoFileStorageProvider.class' " + "archive='" + archive + "' " + "width='1' " + "height='1' " + ">" + "</applet>";
document.writeln(tag);
}});
dojo.storage.browser.WhatWGStorageProvider = function () {
};
dojo.inherits(dojo.storage.browser.WhatWGStorageProvider, dojo.storage);
dojo.lang.extend(dojo.storage.browser.WhatWGStorageProvider, {namespace:"default", initialized:false, _domain:null, _available:null, _statusHandler:null, initialize:function () {
if (djConfig["disableWhatWGStorage"] == true) {
return;
}
this._domain = location.hostname;
this.initialized = true;
dojo.storage.manager.loaded();
}, isAvailable:function () {
try {
var myStorage = globalStorage[location.hostname];
}
catch (e) {
this._available = false;
return this._available;
}
this._available = true;
return this._available;
}, put:function (key, value, resultsHandler) {
if (this.isValidKey(key) == false) {
dojo.raise("Invalid key given: " + key);
}
this._statusHandler = resultsHandler;
if (dojo.lang.isString(value)) {
value = "string:" + value;
} else {
value = dojo.json.serialize(value);
}
window.addEventListener("storage", function (evt) {
resultsHandler.call(null, dojo.storage.SUCCESS, key);
}, false);
try {
var myStorage = globalStorage[this._domain];
myStorage.setItem(key, value);
}
catch (e) {
this._statusHandler.call(null, dojo.storage.FAILED, key, e.toString());
}
}, get:function (key) {
if (this.isValidKey(key) == false) {
dojo.raise("Invalid key given: " + key);
}
var myStorage = globalStorage[this._domain];
var results = myStorage.getItem(key);
if (results == null) {
return null;
}
results = results.value;
if (!dojo.lang.isUndefined(results) && results != null && /^string:/.test(results)) {
results = results.substring("string:".length);
} else {
results = dojo.json.evalJson(results);
}
return results;
}, getKeys:function () {
var myStorage = globalStorage[this._domain];
var keysArray = new Array();
for (i = 0; i < myStorage.length; i++) {
keysArray[i] = myStorage.key(i);
}
return keysArray;
}, clear:function () {
var myStorage = globalStorage[this._domain];
var keys = new Array();
for (var i = 0; i < myStorage.length; i++) {
keys[keys.length] = myStorage.key(i);
}
for (var i = 0; i < keys.length; i++) {
myStorage.removeItem(keys[i]);
}
}, remove:function (key) {
var myStorage = globalStorage[this._domain];
myStorage.removeItem(key);
}, isPermanent:function () {
return true;
}, getMaximumSize:function () {
return dojo.storage.SIZE_NO_LIMIT;
}, hasSettingsUI:function () {
return false;
}, showSettingsUI:function () {
dojo.raise(this.getType() + " does not support a storage settings user-interface");
}, hideSettingsUI:function () {
dojo.raise(this.getType() + " does not support a storage settings user-interface");
}, getType:function () {
return "dojo.storage.browser.WhatWGProvider";
}});
dojo.storage.browser.FlashStorageProvider = function () {
};
dojo.inherits(dojo.storage.browser.FlashStorageProvider, dojo.storage);
dojo.lang.extend(dojo.storage.browser.FlashStorageProvider, {namespace:"default", initialized:false, _available:null, _statusHandler:null, initialize:function () {
if (djConfig["disableFlashStorage"] == true) {
return;
}
var loadedListener = function () {
dojo.storage._flashLoaded();
};
dojo.flash.addLoadedListener(loadedListener);
var swfloc6 = dojo.uri.moduleUri("dojo", "../Storage_version6.swf").toString();
var swfloc8 = dojo.uri.moduleUri("dojo", "../Storage_version8.swf").toString();
dojo.flash.setSwf({flash6:swfloc6, flash8:swfloc8, visible:false});
}, isAvailable:function () {
if (djConfig["disableFlashStorage"] == true) {
this._available = false;
} else {
this._available = true;
}
return this._available;
}, put:function (key, value, resultsHandler) {
if (this.isValidKey(key) == false) {
dojo.raise("Invalid key given: " + key);
}
this._statusHandler = resultsHandler;
if (dojo.lang.isString(value)) {
value = "string:" + value;
} else {
value = dojo.json.serialize(value);
}
dojo.flash.comm.put(key, value, this.namespace);
}, get:function (key) {
if (this.isValidKey(key) == false) {
dojo.raise("Invalid key given: " + key);
}
var results = dojo.flash.comm.get(key, this.namespace);
if (results == "") {
return null;
}
if (!dojo.lang.isUndefined(results) && results != null && /^string:/.test(results)) {
results = results.substring("string:".length);
} else {
results = dojo.json.evalJson(results);
}
return results;
}, getKeys:function () {
var results = dojo.flash.comm.getKeys(this.namespace);
if (results == "") {
return [];
}
return results.split(",");
}, clear:function () {
dojo.flash.comm.clear(this.namespace);
}, remove:function (key) {
dojo.unimplemented("dojo.storage.browser.FlashStorageProvider.remove");
}, isPermanent:function () {
return true;
}, getMaximumSize:function () {
return dojo.storage.SIZE_NO_LIMIT;
}, hasSettingsUI:function () {
return true;
}, showSettingsUI:function () {
dojo.flash.comm.showSettings();
dojo.flash.obj.setVisible(true);
dojo.flash.obj.center();
}, hideSettingsUI:function () {
dojo.flash.obj.setVisible(false);
if (dojo.storage.onHideSettingsUI != null && !dojo.lang.isUndefined(dojo.storage.onHideSettingsUI)) {
dojo.storage.onHideSettingsUI.call(null);
}
}, getType:function () {
return "dojo.storage.browser.FlashStorageProvider";
}, _flashLoaded:function () {
this._initialized = true;
dojo.storage.manager.loaded();
}, _onStatus:function (statusResult, key) {
var ds = dojo.storage;
var dfo = dojo.flash.obj;
if (statusResult == ds.PENDING) {
dfo.center();
dfo.setVisible(true);
} else {
dfo.setVisible(false);
}
if ((!dj_undef("_statusHandler", ds)) && (ds._statusHandler != null)) {
ds._statusHandler.call(null, statusResult, key);
}
}});
dojo.storage.manager.register("dojo.storage.browser.FileStorageProvider", new dojo.storage.browser.FileStorageProvider());
dojo.storage.manager.register("dojo.storage.browser.WhatWGStorageProvider", new dojo.storage.browser.WhatWGStorageProvider());
dojo.storage.manager.register("dojo.storage.browser.FlashStorageProvider", new dojo.storage.browser.FlashStorageProvider());
dojo.storage.manager.initialize();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?