ここにデモがあります 簡単に言えば、誰かがテキストの変更をクリックすると、next()
機能がトリガーされます。
next()
関数は相対データを ajax_next_track.php に送信し、ランダムなデータを取得します。
次に、テキストartist_name
とtrack_name
スパンをランダム データに置き換えます。
これらはすべて、Firefox と Chrome で正常に動作します。ただし、Internet Explorer にはありません。別のブラウザーでテキストの変更を 2 回以上クリックすると、問題が発生する可能性があります。
他のブラウザでは、画面に「読み込み中...」というテキストが表示される操作時間があります。しかし、それは Internet Explorer での操作時間なしですぐに発生します。
関数 next() はデータを ajax ファイルに送信できません。
それで、どうすれば修正できますか?
よろしくお願いします。
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>