📄 controls.js
字号:
xoad.controls = {};xoad.controls.list = [];xoad.controls.parsedControls = [];xoad.controls.parseInterval = 1000;xoad.controls.pageLoaded = false;xoad.controls.observers = [];xoad.controls.getAttribute = function(element, attribute, defaultValue){ var attributeValue = null; try { attributeValue = element.getAttribute(attribute); } catch (e) {} if ( ((attributeValue == null) || (attributeValue.length < 1)) && (typeof(defaultValue) != 'undefined')) { attributeValue = defaultValue; } return attributeValue;};xoad.controls.getAttributeNS = function(element, attribute, namespace, defaultValue){ var attributeValue = null; try { attributeValue = element.getAttribute(attribute); } catch (e) {} if ( ((attributeValue == null) || (attributeValue.length < 1)) && (typeof(element.getAttributeNS) == 'function')) { if ( (typeof(namespace) == 'undefined') || (namespace == null)) { namespace = 'http://www.xoad.org/controls'; } try { attributeValue = element.getAttributeNS(namespace, attribute.substring(attribute.indexOf(':') + 1)); } catch (e) {} } if ( ((attributeValue == null) || (attributeValue.length < 1)) && (typeof(defaultValue) != 'undefined')) { attributeValue = defaultValue; } return attributeValue;};xoad.controls.initializeControl = function(control, element, parentElement, controlData){ control.element = element; control.parentElement = parentElement; control.controlData = controlData; if (typeof(controlData.serverClass) != 'undefined') { try { eval('control.serverObject = new ' + controlData.serverClass + '();'); } catch (e) {}; } control.getAttribute = function(attribute, defaultValue) { return xoad.controls.getAttribute(this.element, attribute, defaultValue); }; control.getAttributeNS = function(attribute, namespace, defaultValue) { return xoad.controls.getAttributeNS(this.element, attribute, namespace, defaultValue); }; control.bindStyle = function(styleKey, defaultValue) { eval( 'if (' + '(typeof(this.element.style.' + styleKey + ') == "undefined") ||' + '(this.element.style.' + styleKey + ' == null) ||' + '(this.element.style.' + styleKey + '.toString().length < 1)) {' + 'this.element.style.' + styleKey + ' = this.getAttribute("' + styleKey + '", defaultValue);' + '}'); }; if (xoad.controls.notifyObservers('controlInit', control)) { if (typeof(control.OnInit) == 'function') { control.OnInit(); } } if (xoad.controls.pageLoaded) { if (xoad.controls.notifyObservers('controlLoad', control)) { if (typeof(control.OnLoad) == 'function') { control.OnLoad(); } } }};xoad.controls.createControl = function(element, parentElement, controlData){ try { eval('var control = new ' + controlData.clientClass + '(element, controlData);'); if (xoad.controls.notifyObservers('controlCreated', control)) { xoad.controls.initializeControl(control, element, parentElement, controlData); xoad.controls.parsedControls[xoad.controls.parsedControls.length] = control; return control; } } catch (e) {}; return null;};xoad.controls.parseControls = function(root){ if (typeof(root) == 'undefined') { root = document; } if (typeof(root.childNodes) != 'undefined') { for (var iterator = 0; iterator < root.childNodes.length; iterator ++) { var child = root.childNodes[iterator]; if ( (typeof(child.tagName) != 'undefined') && (typeof(child.__xoad_parsedControl) == 'undefined')) { if ( (typeof(child.childNodes) != 'undefined') && (child.childNodes.length > 0)) { xoad.controls.parseControls(child); } var tagName = child.tagName.toLowerCase(); if (typeof(child.scopeName) != 'undefined') { tagName = child.scopeName.toLowerCase() + ':' + tagName; if (tagName.substr(0, 5) == 'html:') { tagName = tagName.substr(5); } } if (xoad.controls.notifyObservers('elementParse', child, tagName)) { for (var listIterator = 0; listIterator < xoad.controls.list.length; listIterator ++) { if (xoad.controls.list[listIterator].tagName == tagName) { child.attachedControl = xoad.controls.createControl(child, root, xoad.controls.list[listIterator]); } } } child.__xoad_parsedControl = true; } } }};xoad.controls.onPageLoad = function(){ if (typeof(xoad.controls.parseIntervalId) != 'undefined') { window.clearInterval(xoad.controls.parseIntervalId); } xoad.controls.parseControls(); xoad.controls.pageLoaded = true; for (var iterator = 0; iterator < xoad.controls.parsedControls.length; iterator ++) { var control = xoad.controls.parsedControls[iterator]; if (xoad.controls.notifyObservers('controlLoad', control)) { if (typeof(control.OnLoad) == 'function') { control.OnLoad(); } } }};xoad.controls.onPageUnload = function(){ for (var iterator = 0; iterator < xoad.controls.parsedControls.length; iterator ++) { var control = xoad.controls.parsedControls[iterator]; if (xoad.controls.notifyObservers('controlUnload', control)) { if (typeof(control.OnUnload) == 'function') { control.OnUnload(); } } }};xoad.controls.addObserver = function(observer){ xoad.controls.observers[xoad.controls.observers.length] = observer; return true;};xoad.controls.notifyObservers = function(event){ if (xoad.controls.observers.length < 1) { return true; } var eventMethod = 'on' + event.charAt(0).toUpperCase() + event.substr(1); var notifyArguments = []; var iterator = 0; for (iterator = 1; iterator < arguments.length; iterator ++) { notifyArguments[notifyArguments.length] = arguments[iterator]; } for (iterator = 0; iterator < xoad.controls.observers.length; iterator ++) { xoad.invokeMethod(xoad.controls.observers[iterator], eventMethod, notifyArguments); } return true;};xoad.controls.parseIntervalId = window.setInterval('xoad.controls.parseControls()', xoad.controls.parseInterval);if (document.all) { window.attachEvent('onload', xoad.controls.onPageLoad); window.attachEvent('onunload', xoad.controls.onPageUnload);} else { window.addEventListener('load', xoad.controls.onPageLoad, true); window.addEventListener('unload', xoad.controls.onPageUnload, true);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -