Radios-fr.com

[AJAX] Script de rafraichissement de ttitre automatique

L'ensemble des logiciels/scripts développés par la communauté.

[AJAX] Script de rafraichissement de ttitre automatique

Messagede Baramine le Mar Oct 03, 2006 20:48

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:

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&eacute;connect&eacute;.";
}

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("&yuml;","&eacute;",$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 Image

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 :wink:
Dernière édition par Baramine le Mer Oct 04, 2006 19:17, édité 4 fois.
Baramine
Amateur Radio
Amateur Radio
 
Messages: 13
Inscription: Sam Mai 20, 2006 14:23

Messagede TheoOrl45 le Mar Oct 03, 2006 22:41

Il y a, selon moi, une erreur. Mais je n'ai pas exécuté le script...

Code: Tout sélectionner
<div></div>


Je pense que c'est ça le code à mettre dans la page où le titre doit s'afficher.
Avatar de l’utilisateur
TheoOrl45
Pro Radio
Pro Radio
 
Messages: 1426
Inscription: Dim Oct 16, 2005 22:53
Localisation: Orléans, France

Messagede Baramine le Mer Oct 04, 2006 00:06

Erreur de ma part, c'était <div> et non pas <div>, premier message édité.

Sinon, entre <div> et </div> on peut mettre un messagde du style "chargement en cours" qui sera remplacé le titre dès qu'il sera chargé
Baramine
Amateur Radio
Amateur Radio
 
Messages: 13
Inscription: Sam Mai 20, 2006 14:23

Messagede Alesk le Mer Oct 04, 2006 12:19

Et quand on est sur icecast ou fait comment au juste ? :?
( Sachant que je n'y connais rien en php mais que la ce script me serai plus qu'utile :S
Dernière édition par Alesk le Mer Oct 04, 2006 12:21, édité 1 fois.
Avatar de l’utilisateur
Alesk
Amateur Radio
Amateur Radio
 
Messages: 49
Inscription: Dim Juil 02, 2006 20:53
Localisation: Chez moi

Messagede adsav le Mer Oct 04, 2006 12:58

C'est cool ca marche tonn script!
Manque plus que celui pour afficher la pochette dans le repertoire /pochettes et ca sera nikel!
adsav
Pro Radio
Pro Radio
 
Messages: 795
Inscription: Mar Aoû 16, 2005 18:23
Localisation: Montargis, France

Messagede JLt le Mer Oct 04, 2006 13:43

Merci bien pour le partage Baramine :)
JLt
Connaisseur Radio
Connaisseur Radio
 
Messages: 51
Inscription: Mer Aoû 02, 2006 21:25
Localisation: Ivry sur seine - 94

Messagede morgan le Mer Oct 04, 2006 17:34

Je vois que tu utilises la fonction getElementById() mais seulement, tu spécifies la balise portant l'id "le_div"
Donc il est judicieux de mettre <div></div> non?
@+ ;)
EDIT: il semblemerait que phpBB vire le id="le_div" du code a mettre dans le body, donc attention
Dernière édition par morgan le Mer Oct 04, 2006 17:35, édité 2 fois.
Avatar de l’utilisateur
morgan
Amateur Radio
Amateur Radio
 
Messages: 42
Inscription: Jeu Mai 25, 2006 17:22
Localisation: Saint michel sur orge, dans l'essonne

Messagede Baramine le Mer Oct 04, 2006 19:18

morgan a écrit:EDIT: il semblerait que phpBB vire le id="le_div" du code a mettre dans le body, donc attention


Bien vu, j'ai édité en mettant une image :wink:
Baramine
Amateur Radio
Amateur Radio
 
Messages: 13
Inscription: Sam Mai 20, 2006 14:23

Messagede Jopa le Sam Nov 04, 2006 22:16

fonctionne pas sur hebergement free

commence grave a me souler
merci

je vai voir pour changer d'hebergement
Jopa
Stagiaire Radio
Stagiaire Radio
 
Messages: 2
Inscription: Sam Nov 04, 2006 22:11

Messagede trigone7 le Dim Nov 05, 2006 22:03

ben mois je capte pas je copie texto ton code et rien ne saffiche ... bizzard
Avatar de l’utilisateur
trigone7
Connaisseur Radio
Connaisseur Radio
 
Messages: 68
Inscription: Lun Juin 06, 2005 17:25

Messagede Publicité le 21 Juin 2008 00:00

Publicité
 
Messages : 60
Inscription: 21 Juin 2008 23:14
Localisation: Sur ce forum
  • Message privé
  • Site Internet
  • MSNM/WLM

Retourner vers Général >> Développement



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités