Oke eerst even een korte inleiding. Ik heb een chatprogramma dat elke 5 minuten een nieuwe xml bestand gaat genereren met de standen van een spelletje. Er is nog een tweede xml bestand dat niet zo vaak wijzigt en er zo voor zorgt dat het eerste bestand niet zo erg groot wordt.
Nu komen de problemen. Ik heb een xsl geschreven die prima werkt. Ik wil alleen graag dat de pagina kan worden aangeroepen in een html pagina. Omdat ik niet weet wat voor een webserver mijn klanten hebben kies ik voor javascript om de pagina te tonen.
Probleem 1:
De xml-xsl toont wel in internet explorer en niet in mozilla. Ik heb al zoveel sites erover geraadpleegd, maar ook de voorbeelden die daarop staan krijg ik niet werkend. Dus weet misschien iemand hoe ik dit werkend krijg.
JAVASCRIPT van http://www.quirksmode.org/dom/importxml.html aangepast
Dit staat op www.heijst.demon.nl/test/triv.html (werkt dus alleen met internet explorer, met mozilla mist de opsomming van de spelers)
Ik heb ook hier http://www.sitepoint.com/article/xml-javascript-mozilla/1 gevonden dat je via mozilla het zo moet oplossen, maar ik krijg daar een error bij de readXml
Probleem 2
Eigenlijk had ik de moed al een beetje opgegeven om dat werkend te krijgen. Dus bedacht ik me, laat ik een iframe maken en de xml gewoon via de normale <?xml-stylesheet type="text/xsl" href="layout.xml"?> tonen. Dus gewoon de pagina zo laten en binnen html tonen.(in mijn eigen code noem ik hem dan mozilla.xml omdat ik het dan alleen in mozilla zo zal oplossen.)
dit staat op www.heijst.demon.nl/test2/triv.html (werkt in mozilla en in internet explorer)
Het probleem hier is mijn CSS. Ik heb meerdere stijlen en wanneer ik mijn stijl verander, verandert de stijl van de iframe niet. Ik heb het gevoel dat hij de cookie ook niet goed gebruikt, omdat ook wanneer je op een link druk van zo'n speler wordt daar gewoon weer de default css aangeroepen. Mijn stijlswitcher is gewoon de standaardcode van die ik via got en google regelmatig voorbij zie komen http://www.alistapart.com/articles/alternate
Hij maakt wel netjes de cookie aan en gebruikt ook de gegevens wanneer je weer afsluit en opnieuw oplaad. (tenminste dat werkt in het eerste voorbeeld wel).
In internet explorer blijft het onderste gedeelte van de pagina grijs, dat is een bug van internet explorer want na minimaliseren en weer opnieuw openen past hij de refresh wel goed toe. In mozilla wordt het font in de iframe niet aangepast, dus volgens vervangt hij gewoon de hele achtergrond en veranderd niet de iframe mee. Ook daar is na het klikken op een link de volgende pagina gewoon weer via de default style.
Omdat misschien mijn provider geen goede ondersteuning geeft heb ik mijn site ook ergens anders ondergebracht maar dat geeft geen verandering.
Kortom, kan iemand mij helpen 1 van de 2 manieren werkend te krijgen, want ik ploeter al een week en maak geen vooruitgang
Nu komen de problemen. Ik heb een xsl geschreven die prima werkt. Ik wil alleen graag dat de pagina kan worden aangeroepen in een html pagina. Omdat ik niet weet wat voor een webserver mijn klanten hebben kies ik voor javascript om de pagina te tonen.
Probleem 1:
De xml-xsl toont wel in internet explorer en niet in mozilla. Ik heb al zoveel sites erover geraadpleegd, maar ook de voorbeelden die daarop staan krijg ik niet werkend. Dus weet misschien iemand hoe ik dit werkend krijg.
JAVASCRIPT van http://www.quirksmode.org/dom/importxml.html aangepast
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| var xml;
var xsl;
//dit is voor mozilla
if (document.implementation && document.implementation.createDocument)
{
xml = document.implementation.createDocument("", "", null);
xsl = document.implementation.createDocument("", "", null);
xml.load("snirc.xml");
xsl.load("layout.xml");//ik kan hem geen xsl noemen omdat mn webserver dat niet ondersteunt
//wat moet ik hier zetten om de xsl toe te passen op de xml
}
else if (window.ActiveXObject)
{
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async="false";
xsl = new ActiveXObject("Microsoft.XMLDOM");
xsl.async="false";
xml.load("snirc.xml");
xsl.load("layout.xml");
document.write(xml.transformNode(xsl));
//dit werkt prima, de transformNode kan ik
//alleen niet toepassen in de mozilla, vandaar dat ik het gescheiden heb
}
else
{
alert('Your browser can\'t handle this script');
//dit zie ik verder nooit
} |
Dit staat op www.heijst.demon.nl/test/triv.html (werkt dus alleen met internet explorer, met mozilla mist de opsomming van de spelers)
Ik heb ook hier http://www.sitepoint.com/article/xml-javascript-mozilla/1 gevonden dat je via mozilla het zo moet oplossen, maar ik krijg daar een error bij de readXml
Probleem 2
Eigenlijk had ik de moed al een beetje opgegeven om dat werkend te krijgen. Dus bedacht ik me, laat ik een iframe maken en de xml gewoon via de normale <?xml-stylesheet type="text/xsl" href="layout.xml"?> tonen. Dus gewoon de pagina zo laten en binnen html tonen.(in mijn eigen code noem ik hem dan mozilla.xml omdat ik het dan alleen in mozilla zo zal oplossen.)
dit staat op www.heijst.demon.nl/test2/triv.html (werkt in mozilla en in internet explorer)
Het probleem hier is mijn CSS. Ik heb meerdere stijlen en wanneer ik mijn stijl verander, verandert de stijl van de iframe niet. Ik heb het gevoel dat hij de cookie ook niet goed gebruikt, omdat ook wanneer je op een link druk van zo'n speler wordt daar gewoon weer de default css aangeroepen. Mijn stijlswitcher is gewoon de standaardcode van die ik via got en google regelmatig voorbij zie komen http://www.alistapart.com/articles/alternate
Hij maakt wel netjes de cookie aan en gebruikt ook de gegevens wanneer je weer afsluit en opnieuw oplaad. (tenminste dat werkt in het eerste voorbeeld wel).
In internet explorer blijft het onderste gedeelte van de pagina grijs, dat is een bug van internet explorer want na minimaliseren en weer opnieuw openen past hij de refresh wel goed toe. In mozilla wordt het font in de iframe niet aangepast, dus volgens vervangt hij gewoon de hele achtergrond en veranderd niet de iframe mee. Ook daar is na het klikken op een link de volgende pagina gewoon weer via de default style.
Omdat misschien mijn provider geen goede ondersteuning geeft heb ik mijn site ook ergens anders ondergebracht maar dat geeft geen verandering.
Kortom, kan iemand mij helpen 1 van de 2 manieren werkend te krijgen, want ik ploeter al een week en maak geen vooruitgang