From: <ru...@us...> - 2009-06-13 12:53:28
|
Revision: 6932 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=6932&view=rev Author: rurban Date: 2009-06-13 12:52:43 +0000 (Sat, 13 Jun 2009) Log Message: ----------- Basic documentation of the new trick (#bcvie) Modified Paths: -------------- trunk/themes/default/ajax.js Modified: trunk/themes/default/ajax.js =================================================================== --- trunk/themes/default/ajax.js 2009-06-12 14:35:49 UTC (rev 6931) +++ trunk/themes/default/ajax.js 2009-06-13 12:52:43 UTC (rev 6932) @@ -14,6 +14,7 @@ alert( hError.reason ); } else { // insert external, same-domain XML tree into id-body as HTML + // we get this from any page&format=xml var body = document.getElementById(this.id+'-body'); var newbody = this.hXMLHttp.responseXML; if (newbody != null) { @@ -27,6 +28,11 @@ if (newbody == null) { alert("showHideDone "+this.id+"\nno xml children from "+this.hXMLHttp.responseText); } + // We cannot just insert the responseXML into the DOM. + // well gecko can, but the others not. + // So convert the XML tree it on the fly into HTML nodes. + // I never saw this before, I needed that, so I think I + // invented that sort of rich mashup. var hContainer = CreateHtmlFromXml(newbody); hContainer.className = 'wikitext'; body.appendChild( hContainer ); @@ -49,12 +55,15 @@ var cShowHide; +/* recursive xml => html converter. This might need a attribute type checker + in a bad world. e.g. disable all on* events */ function CreateHtmlFromXml (xml) { if (xml == null) { return document.createElement('xml'); } var xmltype = xml.nodeName; var html; + // we have either text or node elements if (xmltype == '#text') { html = document.createTextNode( xml.nodeValue ); html.nodeValue = xml.nodeValue; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |