Hallo,
Ik denk dat ik mijn probleem het beste in deze categorie kan plaatsen, omdat een javascript problemen lijkt te geven. Het implementeren van google maps lokatiekaarten in een website is tegenwoordig simpel. Je hebt alleen een key (die voor een bepaalde URL/domein werkt) en een simpel javascriptje nodig en je hebt google maps op je site.
Om een simpel werkende lokatiekaart te tonen is onderstaande HTML nodig (voor http://localhost:8080/...)
Nu heb ik echter geen HTML file maar een XML file die met een XSLT naar HTML geparsed wordt. De XML ziet er als volgt uit:
en de XSLT file:
Als ik nu de XML file aanroep in Internet Explorer dan wordt ie netjes geparsed en het resultaat is hetzelfde als bij de HTML code hierboven: het kaartje wordt netjes getoond!
Wat is nu het probleem? Dit werkt niet in Firefox en ik heb geen idee waarom niet. Hij blijft 'hangen' op de javascript regel in de <head>. Het probleem is dat ik geen bron kan opvragen van wat er al wel geparsed is, omdat ie dat gewoon niet laat zien.
Iemand een idee waarom dit wel werkt in IE en niet in FF?
Ik denk dat ik mijn probleem het beste in deze categorie kan plaatsen, omdat een javascript problemen lijkt te geven. Het implementeren van google maps lokatiekaarten in een website is tegenwoordig simpel. Je hebt alleen een key (die voor een bepaalde URL/domein werkt) en een simpel javascriptje nodig en je hebt google maps op je site.
Om een simpel werkende lokatiekaart te tonen is onderstaande HTML nodig (voor http://localhost:8080/...)
HTML:
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
29
30
31
| <?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <script type="text/javascript" src="http://maps.google.com/maps?file=api&v=3&key=ABQIAAAAh6dLHnpljtB8dnyt1gB7LhTwM0brOpm-All5BF6PoaKBxRWWERSo9Ud5BS-EUZyLlPXFGqZT-lxwsQ"> </script> </head> <body onload="loadGoogleMap();"> <div> <script type="text/javascript"> function loadGoogleMap() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); var point = new GLatLng(52.0000, 5.0000); map.setCenter(point, 16); map.addControl(new GMapTypeControl()); map.addControl(new GLargeMapControl()); } } </script> <div id="map" style="width: 500px; height: 300px"> </div> </div> </body> </html> |
Nu heb ik echter geen HTML file maar een XML file die met een XSLT naar HTML geparsed wordt. De XML ziet er als volgt uit:
XML:
1
2
3
4
5
6
7
8
| <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="google.xsl" type="text/xsl"?> <root> <locationmaps> <coordinates latitude="52.0000" longitude="5.0000"/> </locationmaps> </root> |
en de XSLT file:
XSLT:
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
29
30
31
32
33
34
35
36
37
38
| <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/root"> <html> <head> <script type="text/javascript"> <xsl:attribute name="src">http://maps.google.com/maps?file=api&v=3& amp;key=ABQIAAAAh6dLHnpljtB8dnyt1gB7LhTw M0brOpm-All5BF6PoaKBxRWWERSo9Ud5BS-EUZyLlPXFGqZT-lxwsQ</xsl:attribute> </script> </head> <body onload="loadGoogleMap();"> <div> <script type="text/javascript"> function loadGoogleMap() { if(GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); var point = new GLatLng(<xsl:value-of select="locationmaps/coordinates/@latitude"/>, <xsl:value-of select="locationmaps/coordinates/@longitude"/> ); map.setCenter(point, 16); map.addControl(new GMapTypeControl()); map.addControl(new GLargeMapControl()); } } </script> <div id="map" style="width: 500px; height: 300px"> </div> </div> </body> </html> </xsl:template> </xsl:stylesheet> |
Als ik nu de XML file aanroep in Internet Explorer dan wordt ie netjes geparsed en het resultaat is hetzelfde als bij de HTML code hierboven: het kaartje wordt netjes getoond!
Wat is nu het probleem? Dit werkt niet in Firefox en ik heb geen idee waarom niet. Hij blijft 'hangen' op de javascript regel in de <head>. Het probleem is dat ik geen bron kan opvragen van wat er al wel geparsed is, omdat ie dat gewoon niet laat zien.
Iemand een idee waarom dit wel werkt in IE en niet in FF?