J'ai un site simple mis ensemble pour jouer quelques vidéos flash. J'ai les informations pour les vidéos et leurs commentaires liés stockés dans un fichier XML. J'utilise SimpleXML pour parcourir tout cela et afficher les choses dans l'ordre chronologique inverse. Tout fonctionne parfaitement dans IE8, Safari et Chrome, mais dans Firefox la même vidéo (celle de [0] dans le tableau simpleXML) est affichée pour toutes les vidéos sur l'écran. Toutes les informations liées (Titre, commentaires, etc.) sont correctes, et l'affichage de la sortie html montre que le lecteur FLV appelle le bon fichier ... mais Firefox ne le montrera pas!Firefox uniquement bug lors de l'appel .flv vidéos à partir du fichier xml en utilisant php
donc: Y at-il une bizarrerie dans Firefox DOM que je peux représenter dans les scripts php? Que puis-je faire? La page est ici: http://omega.uta.edu/~ktb7964/
Et un code source pour vous: Les boucles PHP:
<?php
//this script uses a few for loops to first count the number of video/comment entries in the related xml file,
//and then count backwards through them so they are all displayed in reverse chronological order.
//$v is the array position for a video element and $c is the array position for a comment element.
for($v=0; $xml->video[$v];$v++) {}
$v--;
for($v; $v >= 0;$v--) {
//the code that declares the FLV player needs to be split into pieces so we can concatenate them with $v.
$script1 = file_get_contents('script1.htm');
$script2 = file_get_contents('script2.htm');
$script3 = file_get_contents('script3.htm');
$script4 = file_get_contents('script4.htm');
echo("<h2>" . $xml->video[$v]->title . "</h2>");
echo($script1 . $v . $script2 . $xml->video[$v]->file . $script3 . $xml->video[$v]->url . $script4);
echo("<h3>Comments:</h3>");
echo("<form action=\"post".$v.".php\" method=\"post\" name=\"postcomment".$v."\">");
echo("<input name=\"position\" type=\"hidden\" value=\"".$v."\" />");
echo("<input name=\"username\" type=\"text\" size=\"30\" maxlength=\"20\" value =\"Username:\" onblur=\"if(this.value=='') this.value='Username:';\" onfocus= \"this.value='';\" /></p>");
echo("<p><textarea name=\"text\" cols=\"50\" rows=\"5\"></textarea></p>");
echo("<input name=\"submit\" type=\"submit\" value=\"Post a Comment\" />");
echo("</form>");
for($c=0; $xml->video[$v]->comments->comment[$c];$c++) {}
$c--;
if($c < 0){
echo("<p><i>No comments yet.</i></p>");}
else {
for($c; $c >= 0; $c--) {
echo("<h4>" . $xml->video[$v]->comments->comment[$c]->poster . " said: </h4>");
echo("<p>" . $xml->video[$v]->comments->comment[$c]->post . "</p>");
echo("<hr />"); }
}
}
?>
Et une partie du fichier xml:
<videos>
<video>
<uid>0</uid>
<title>The Real World: UTA</title>
<file>draft</file>
<comments>
<comment>
<poster>Fooman</poster>
<email>[email protected]</email>
<post>"This video is so exciting!</post>
</comment>
<comment>
<poster>Foogirl</poster>
<email>[email protected]</email>
<post>"Ha! That was hilarious!"</post>
</comment>
</comments>
</video>
</videos>
Merci!
Je nettoyé quelques-unes des choses que vous avez mentionnées sur Wamp Server, mais le problème persiste. @prodigitalson: merci d'avoir ajouté les blocs de code: je n'ai pas trouvé le bouton pour cela jusqu'à ce que je l'ai envoyé! – Keith