fckxml.js

来自「国外很不错的一个开源OA系统Group-Office」· JavaScript 代码 · 共 131 行

JS
131
字号
/* * FCKeditor - The text editor for Internet - http://www.fckeditor.net * Copyright (C) 2003-2007 Frederico Caldeira Knabben * * == BEGIN LICENSE == * * Licensed under the terms of any of the following licenses at your * choice: * *  - GNU General Public License Version 2 or later (the "GPL") *    http://www.gnu.org/licenses/gpl.html * *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL") *    http://www.gnu.org/licenses/lgpl.html * *  - Mozilla Public License Version 1.1 or later (the "MPL") *    http://www.mozilla.org/MPL/MPL-1.1.html * * == END LICENSE == * * Defines the FCKXml object that is used for XML data calls * and XML processing. * * This script is shared by almost all pages that compose the * File Browser frameset. */var FCKXml = function(){}FCKXml.prototype.GetHttpRequest = function(){	// Gecko / IE7	if ( typeof(XMLHttpRequest) != 'undefined' )		return new XMLHttpRequest() ;	// IE6	try { return new ActiveXObject( 'Msxml2.XMLHTTP' ) ; }	catch(e) {}	// IE5	try { return new ActiveXObject( 'Microsoft.XMLHTTP' ) ; }	catch(e) {}	return null ;}FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer ){	var oFCKXml = this ;	var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;	var oXmlHttp = this.GetHttpRequest() ;	oXmlHttp.open( "GET", urlToCall, bAsync ) ;	if ( bAsync )	{		oXmlHttp.onreadystatechange = function()		{			if ( oXmlHttp.readyState == 4 )			{				if ( oXmlHttp.responseXML == null || oXmlHttp.responseXML.firstChild == null)				{					alert( 'The server didn\'t send back a proper XML response.\r\n\r\n' +							'Requested URL: ' + urlToCall + '\r\n' +							'Response text:\r\n' + oXmlHttp.responseText ) ;					return ;				}				oFCKXml.DOMDocument = oXmlHttp.responseXML ;				if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 )					asyncFunctionPointer( oFCKXml ) ;				else					alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;			}		}	}	oXmlHttp.send( null ) ;	if ( ! bAsync )	{		if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 )			this.DOMDocument = oXmlHttp.responseXML ;		else		{			alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;		}	}}FCKXml.prototype.SelectNodes = function( xpath ){	if ( navigator.userAgent.indexOf('MSIE') >= 0 )		// IE		return this.DOMDocument.selectNodes( xpath ) ;	else					// Gecko	{		var aNodeArray = new Array();		var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument,				this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;		if ( xPathResult )		{			var oNode = xPathResult.iterateNext() ; 			while( oNode ) 			{ 				aNodeArray[aNodeArray.length] = oNode ; 				oNode = xPathResult.iterateNext(); 			}		}		return aNodeArray ;	}}FCKXml.prototype.SelectSingleNode = function( xpath ){	if ( navigator.userAgent.indexOf('MSIE') >= 0 )		// IE		return this.DOMDocument.selectSingleNode( xpath ) ;	else					// Gecko	{		var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument,				this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null);		if ( xPathResult && xPathResult.singleNodeValue )			return xPathResult.singleNodeValue ;		else			return null ;	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?