loadXmlDoc in Safari/Chrome

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • yetti4
  • Registratie: Juni 2007
  • Laatst online: 23-03-2018
Beste tweakers, ik zal mijn probleem zo duidelijk mogelijk voorleggen:

Ik heb een xml bestand met heel veel data. Die wil ik in javascript variabelen krijgen zodat ik die kan gebruiken op mijn site. Ik heb een duidelijke script gevonden op w3cschools die xml bestand in DOM zou laden.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function loadXMLDoc(url) {
  try {
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  } 
  catch(e) {
    try {
      xmlDoc=document.implementation.createDocument("","",null);
    }
    catch(e) {alert(e.message)}
  }
  try {
    xmlDoc.async=false;
    xmlDoc.load(url);
    return(xmlDoc);
  }
  catch(e) {alert(e.message)}
  return(null);
}


Het werkt perfect in Firefox, Ie7 en Opera. (Ie6 niet getest). Echter krijg ik bij Safari een foutmelding:
Value undefined (result of expression xmlDoc.load) is not object.
Na wat zoekwerk ben ik achtergekomen dat safari het waarschijnlijk niet ondersteunt. Weet iemand een goede alternatief die voor alle browsers zou werken, of een alternatief voor safari die ik kan toevoegen aan me code.

Alvast bedankt.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

XMLHttpRequest gebruiken?

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • yetti4
  • Registratie: Juni 2007
  • Laatst online: 23-03-2018
Ik heb het ff uitgezocht.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
  {// code for all new browsers
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE5 and IE6
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
  xmlhttp.open("GET",url,false);
  xmlhttp.send(null);
  return(xmlhttp);
  }
}


Het werkt prima in ff/opera en zelfs safari. Maar ie7 doet nu helaas niks, terwijl ik toch heb gelezen dat ie7 xmlhttprequest ondersteunt.

Hoe kan dat?

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Definieer 'doet niets' eens? Wat staat er in de responseXML en/of de responseText?

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • yetti4
  • Registratie: Juni 2007
  • Laatst online: 23-03-2018
crisp schreef op woensdag 12 november 2008 @ 14:44:
Definieer 'doet niets' eens? Wat staat er in de responseXML en/of de responseText?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest) // hier komt ie
  {// code for all new browsers
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE5 and IE6
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
alert('jaja2');  //dat zegt ie
  xmlhttp.open("GET",url,false);
  alert('jaja2'); // dat zegt ie niet meer
  xmlhttp.send(null);
  return(xmlhttp);
  
  }
}
req = loadXMLDoc('programmas.xml') ;


tot tweede alert komt ie niet meer. Er komt geen foutmelding of zo. Gewoon totaal leeg scherm.

EDIT: ik heb bestanden upgeload naar de server en daar werkt het wel, heel raar :P
naja ik in ieder geval blij,
bedankt voor je hulp.

[ Voor 8% gewijzigd door yetti4 op 12-11-2008 15:36 ]