Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

[JavaScript] Probleem met het laden van XML

BasHamar
4 antwoorden
  • Ik heb een scriptje gedownload dat data uit een XML-bestand haalt om vervolgens die info te parsen en te laten zien op het scherm. Het probleem is echter dat het laden uit een bestand alleen lukt als de extensie van dat bestand .xml is, maar ik zou zo graag de inhoud van dat bestand dynamisch genereren. Ik heb zelfs het bestand simpelweg hernoemd naar een .php maar helaas: geen resultaat. Uiteraard heb ik de betreffende variabelen aangepast.

    De code staat hieronder; wie helpt mij het probleem te vinden?[code:1:9baf95124a]<script language="JavaScript1.2">

    /*
    DOM XML ticker- © Dynamic Drive (www.dynamicdrive.com)
    For full source code, 100's more DHTML scripts, and Terms Of Use, visit http://www.dynamicdrive.com
    Credit MUST stay intact
    */

    //Container for ticker. Modify its STYLE attribute to customize style:
    var tickercontainer='<div id="container" style="background-color:#FFFFE1;width:150;height:120;font:normal 13px Verdana;"></div>'

    //Specify path to xml file
    var xmlsource="ticker.xml" // Om deze regel gaat het. Met *.xml lukt het, met *.php niet.

    ////No need to edit beyond here////////////
    //load xml file
    if (window.ActiveXObject)
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    else if (document.implementation && document.implementation.createDocument)
    var xmlDoc= document.implementation.createDocument("","doc",null);
    if (typeof xmlDoc!="undefined"){
    document.write(tickercontainer)
    xmlDoc.load(xmlsource)
    }

    //Regular expression used to match any non-whitespace character
    var notWhitespace = /\S/

    function init_ticker(){
    //Cache "messages" element of xml file
    tickerobj=xmlDoc.getElementsByTagName("xmlticker")[0]

    //REMOVE white spaces in XML file. Intended mainly for NS6/Mozilla
    for (i=0;i<tickerobj.childNodes.length;i++){
    if ((tickerobj.childNodes[i].nodeType == 3)&&(!notWhitespace.test(tickerobj.childNodes[i].nodeValue))) {
    tickerobj.removeChild(tickerobj.childNodes[i])
    i–
    }
    }
    document.getElementById("container").innerHTML=tickerobj.childNodes[1].firstChild.nodeValue
    msglength=tickerobj.childNodes.length
    currentmsg=2
    themessage=''
    setInterval("rotatemsg()",tickerobj.childNodes[0].firstChild.nodeValue)
    }

    function rotatemsg(){
    var msgsobj=tickerobj.childNodes[currentmsg]
    if (msgsobj.getAttribute("url")!=null){
    themessage='<a href="'+msgsobj.getAttribute("url")+'"'
    if (msgsobj.getAttribute("target")!=null)
    themessage+=' target="'+msgsobj.getAttribute("target")+'"'
    themessage+='>'
    }
    themessage+=msgsobj.firstChild.nodeValue
    if (msgsobj.getAttribute("url")!=null)
    themessage+='</a>'

    //Rotate msg and display it in DIV:
    document.getElementById("container").innerHTML=themessage
    currentmsg=(currentmsg<msglength-1)? currentmsg+1 : 1
    themessage=''
    }

    function fetchxml(){
    if (xmlDoc.readyState==4)
    init_ticker()
    else
    setTimeout("fetchxml()",10)
    }

    if (window.ActiveXObject)
    fetchxml()
    else if (typeof xmlDoc!="undefined")
    xmlDoc.onload=init_ticker

    </script>[/code:1:9baf95124a]
    -Basje
  • verstuur je de xml in php wel met een xml-header? wellicht dat dat een probleem is?
  • Dit is de eerste regel in het XML-bestand:[code:1:4bb0212654]<?xml version="1.0"?>[/code:1:4bb0212654]Klopt dit?

    - Basje.
  • ja, maar ik bedoelde:

    header("Content-type: text/xml");

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.