Xex.One = new Xex.IntTerm (1);
Xex.nil = new Xex.SymTerm ('nil');
-Xex.Load = function (server, file)
+Xex.LoadOld = function (server, file)
{
var obj = new XMLHttpRequest ();
var url = server ? server + '/' + file : file;
};
(function () {
- function getxml (event)
+ var queue = new Array ();
+ var iframe = null;
+
+ function receiver (event)
{
+ var request = queue.shift ();
+ //alert ('received: ' + request[0]);
var parser = new DOMParser ();
- Xex.xml = parser.parseFromString (event.data, 'text/xml');
+ var xml = parser.parseFromString (event.data, 'text/xml');
+ if (queue.length > 0)
+ {
+ document.getElementsByTagName ('body')[0].removeChild (iframe);
+ iframe.src = queue[0][0];
+ document.getElementsByTagName ('body')[0].appendChild (iframe);
+ }
+ else
+ {
+ window.removeEventListener ('message', receiver, false);
+ document.getElementsByTagName ('body')[0].removeChild (iframe);
+ }
+ request[1] (xml.firstElement (), request[2]);
+ event.preventDefault ();
};
- Xex.LoadTesting = function (server, file)
- {
- var body = document.getElementsByTagName ('body')[0];
- Xex.xml = undefined;
- window.addEventListener ('message', getxml, false);
- var iframe = document.createElement ('iframe');
- iframe.src = server + '/loadxml.html#' + file;
- alert ('iframe created');
- body.appendChild (iframe);
-/*
- while (! Xex.xml)
- alert ('wait loading ' + file);
- window.removeEventListener ('message', getxml, false);
- body.removeChild (iframe);
- return (Xex.xml.firstChild);
-*/
+ Xex.Load = function (server, file, callback, arg)
+ {
+ var url = server + '/loadxml.html#' + file;
+ //alert ('loading file:' + file);
+ queue.push ([url, callback, arg]);
+ if (queue.length == 1)
+ {
+ window.addEventListener ('message', receiver, false);
+ iframe = document.createElement ('iframe');
+ iframe.style.display = 'none';
+ iframe.src = url;
+ //alert ('iframe created');
+ document.getElementsByTagName ('body')[0].appendChild (iframe);
+ }
}
}) ();
+