Bonjour à tous
Je sais que beaucoup d'entre vous le cherchaient, et vu que je n'ai rien trouvé, je l'ai écrit: un script qui permet de rafraichir le titre en cours sans raffraichir l'ensemble de la page.
Tout d'abord, pour un aperçu: www.radiolg.net
Le code:
Fichier titre.php:
Dans la page où le titre doit être affiché:
entre [head] et [\head]
A l'endroit où le titre doit être affiché:
EDIT: le code ne passe pas sur le forum, je le met en image
Il faut entrer
J'ai inclu un script qui empeche l'affichage d'une erreur javascript car IE m'en affiche une chaque fois mais je n'ai pas encore trouvé d'où ça venait. Dans tous les cas ça fonctionne très bien comme ça en attendant de faire mieux
Je sais que beaucoup d'entre vous le cherchaient, et vu que je n'ai rien trouvé, je l'ai écrit: un script qui permet de rafraichir le titre en cours sans raffraichir l'ensemble de la page.
Tout d'abord, pour un aperçu: www.radiolg.net
Le code:
Fichier titre.php:
- Code: Tout sélectionner
<div><span>A l'antenne:
<?
$ip = "194.214.166.146"; // Mettre ici l'IP ou host de votre serveur Shoutcast. Ne pas mettre http:// devant
$port = "6000"; // placer ici le port du serveur Shoutcast. //
//
//
// fin de la configuration //
$fp = @fsockopen("$ip", "$port", $errno, $errstr, 30);
if(!$fp)
{
$auditeurs = "0";
$places = "0";
$etat = "Serveur déconnecté.";
}
else
{
fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: Mozilla/4.0\r\n\r\n");
while(!feof($fp))
{
$content .= fgets($fp,128);
}
fclose($fp);
$debut = strpos($content, '<body>') + strlen('<body>');
$fin = strpos($content, '</body>', $debut);
$servi = substr($content, $debut, $fin - $debut);
$option = explode(',', $servi);
if ($option[1] == 0)
{
// Serveur connecter aucune source stream //
$auditeurs = "0";
$places = "0";
$etat = "Aucune source serveur connectée.";
}
else
{
// Serveur connecté stream ok //
$auditeurs = $option[0];
$pointe = $option[2];
$places = $option[3];
$bitrate = $option[5];
$titre = $option[6];
$etat = "Source connectée serveur connecté serveur Ok !";
}
}
$titre = str_replace("ÿ","é",$titre);
echo"$titre";
?>
</span></div>
Dans la page où le titre doit être affiché:
entre [head] et [\head]
- Code: Tout sélectionner
<SCRIPT LANGUAGE="JavaScript">
function NoError()
{
return true;
}
window.onerror=NoError;
</SCRIPT>
<script>
function charge() {
aleatoire = Math.random();
var xhr_object = null;
if(window.XMLHttpRequest)
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject)
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else {
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
var method = "GET";
var filename = "titre.php?a="+escape(aleatoire);
xhr_object.open(method, filename, true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 1) {
var tmp = xhr_object.responseText;
document.getElementById('le_div').innerHTML = "Chargement en cours";
}
if(xhr_object.readyState == 4) {
var tmp = xhr_object.responseText;
document.getElementById('le_div').innerHTML = tmp;
}
}
xhr_object.send();
setTimeout("charge()", 1000);
}
</script>
A l'endroit où le titre doit être affiché:
EDIT: le code ne passe pas sur le forum, je le met en image
Il faut entrer
J'ai inclu un script qui empeche l'affichage d'une erreur javascript car IE m'en affiche une chaque fois mais je n'ai pas encore trouvé d'où ça venait. Dans tous les cas ça fonctionne très bien comme ça en attendant de faire mieux







