bonsoir
Je suis en train de faire un script JS pour me permettre de récuperer sur last.fm le titre que je suis en train de lire pour l'afficher sur ma page. Pour cela, j'utilise la manipulation XML dans javascript.
Voici mon code, le point d'entrée est displayJukeBox. Pour l'instant, je bosse sous firefox, d'ou des manque autour du MSXML :
Code :
- var lastXmlDoc = null; // le document XML de backend de last.fm.
- function lastDocumentLoaded () {
- var jukeboxDiv = document.getElementById('jukebox');
- var songTitle = '*coin coin*';
- var htmlRes;
- if (lastXmlDoc == null) {
- htmlRes = "le jukebox est casse. last.fm est mort ou votre browser renacle du fion.";
- } else {
- songTitle = getSongTitle (lastXmlDoc);
- if (songTitle == null) {
- htmlRes = '<p>Le jukebox de ' + userName + ' est eteint pour le moment</p>';
- } else {
- htmlRes = '<p>Le jukebox de ' + userName + ' est en train de jouer <b>' + songTitle + "</b></p>";
- }
- }
- jukeboxDiv.innerHTML = htmlRes;
- }
- function loadLastFMDocument (username) {
- var url = "http://ws.audioscrobbler.com/1.0/user/"+username+"/recenttracks.xml"
- if (document.implementation && document.implementation.createDocument) {
- lastXmlDoc = document.implementation.createDocument("", "", null);
- lastXmlDoc.onload = lastDocumentLoaded;
- } else if (window.ActiveXObject) {
- lastXmlDoc = new ActiveXObject("Microsoft.XMLDOM" );
- } else {
- alert('Your browser can\'t handle this script');
- return NULL;
- }
- lastXmlDoc.load(url);
- return lastXmlDoc;
- }
- function displayJukeBox (userName) {
- var lastXmlDoc = loadLastFMDocument (userName);
- // La suite sera asynchtone ....
- }
|
Une fois dans loadLastFMDocument, mon URL est correcte. Ma creation de XmlDocument se passe bien, je lui affecte comme onload ma méthod qui va parser le résultat pour l'afficher dans mla page.
Sauf qu'une fois sur la ligne lastXmlDoc.load(url);, le debugger rentre, et n'en ressort jamais. Ma méthode sur le onload n'est jamais appelée.
J'avais déjà utilisé ce script pour charger un document XML situé sur la même machine, et là, ça marchais très bien.
Voyez vous ce que j'ai oublié ?
---------------
brisez les rêves des gens, il en restera toujours quelque chose... -- laissez moi troller sur discu !