Here is a demo En bref bref: Si quelqu'un clique sur le changement de texte next()
la fonction sera déclenchée.Javascript dysfonctionnement dans Internet Explorer
next()
La fonction envoie les données relatives à ajax_next_track.php et récupère une donnée aléatoire.
Puis il remplace les textes en artist_name
et track_name
avec les données aléatoires.
Tout cela fonctionne très bien dans Firefox et Chrome. Cependant, il ne le fait pas dans Internet Explorer. Si vous cliquez sur modifier le texte plus de deux fois avec différents navigateurs, vous pouvez voir le problème. Dans les autres navigateurs, il y aura une heure de fonctionnement avec le texte 'loading ...' à l'écran; mais cela arrive immédiatement, sans temps de fonctionnement dans Internet Explorer.
La fonction next() ne peut pas envoyer les données au fichier ajax.
Alors, comment puis-je le réparer?
Merci d'avance.
function next(tags)
{
var hr = new XMLHttpRequest();
var url = 'ajax_next_track.php?tags=' + tags;
hr.open("GET", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function()
{
if(hr.readyState == 4 && hr.status == 200)
{
var return_data = hr.responseText;
jsonObj = JSON.parse(return_data);
document.getElementById("artist_name").innerHTML = jsonObj.artist_name;
document.getElementById("track_name").innerHTML = jsonObj.track_name;
document.getElementById("name").title = 'play '+jsonObj.artist_name+' - '+jsonObj.track_name+' radio';
else
{
}
}
document.getElementById("track_name").innerHTML = 'loading...';
document.getElementById("artist_name").innerHTML = '';
hr.send(null);
}
<div id="player">
<div id="playPauseOutDiv" onclick="pause();">
</div>
<div id="artist_track">
<span id="artist_name">gerry rafferty</span>
<span id="track_name">baker street</span>
</div>
</a>
<div id="ikinciSatir">
<a id="changeSong" title="Shuffle" href="javascript:void(0);" onclick="next('3871');">Change</a>
</div>
</div>
Que voulez-vous dire par "impossible d'envoyer les données à un fichier ajax"? Voulez-vous dire 'next' ne s'appelle pas? Ou il s'appelle et il y a une erreur? Si le premier, nous devons voir comment il est invoqué. Si ce dernier, nous avons besoin de voir l'erreur. –
@PaulTomblin J'ai supprimer et réparer la pièce avec le nom d'identification. Mais le problème principal est toujours là; et j'ai ajouté le HTML. – Tahtakafa