André,
I didn't know it could work in local mode, thanks! I tested and for
me it works both local and remote with Opera AND FF. I'm using this
slightly different routine:
...
else if (window.XMLHttpRequest) {
function XMLHttpRequestCallback() {
if (xmlRequest.readyState == 4) {
// if (xmlRequest.status == 200) {
addDoc(evt,xmlRequest.responseXML.documentElement);
// }
}
}
var xmlRequest = null;
xmlRequest = new XMLHttpRequest();
xmlRequest.overrideMimeType("text/xml");
xmlRequest.open("GET",url,true);
xmlRequest.onreadystatechange = XMLHttpRequestCallback;
xmlRequest.send(null);
}
}
function addDoc(evt,node) {
var newdoc = node;
while (newdoc != null && newdoc.nodeName != "svg") {
newdoc = newdoc.nextSibling;
}
if (newdoc == null) {
alert("Cannot find <svg> element in " + node.parent.nodeName);
return;
}
myDestination.appendChild(newdoc);
}
I only tested with Opera 9.24 and FF 2.0.0.10
The last parameter of:
document.getElementById(myDestination).appendChild(document.importNode
(myReq.responseXML.documentElement,true));
is omitted, but I'm not sure that is what makes it happen. Apart from
that difference, one other I can see is "document.importNode"
Domenico
--- In [email protected], "andre m. winter"
<[EMAIL PROTECTED]> wrote:
>
> hi,
>
> in firefox (2 & 3) the condition (myReq.status == 200) never gets
true
> in a local, non-http environment. that's the reason why i don't use
it
> when developping or teaching SVG as most of my students don't run a
> webserver. so what's this condition about? any way to have a
generic
> function that properly works both offline and online? below the
function
> as it works in online mode.
>
> thank you for hints,
> andré
>
>
>
> function myAddXML(myURL,myDestination,myEncoding){
> if (window.XMLHttpRequest) {
> var myReq = new XMLHttpRequest();
> if(myReq) {
> myReq.overrideMimeType('text/xml');
> myReq.open('GET', myURL, true);
> myReq.onreadystatechange = function(){
> if (myReq.readyState == 4){
> if (myReq.status == 200){ // REMOVE FOR
LOCAL WORK
>
> document.getElementById(myDestination).appendChild
(document.importNode(myReq.responseXML.documentElement,true));
>
> }
> }
> }
> myReq.send(null);
> }
> return;
> } else if (window.getURL){
> //...
> }
> }
>
>
> --
> ___________________________________________________________________
> andre m. winter,
> cartography for internet and multimedia applications
> schiessstand 4/1, a6091 goetzens, tyrol, austria
> tel.: ++43.5234.32732
> http://www.vectoreal.com/ SVG consulting and development
> http://www.geotrace.net/ geo-localized high quality photographs
> http://www.carto.at/ print and online touristic map solutions
>
-----
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my
membership"
----
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/svg-developers/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/svg-developers/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/