Ошибка только для Firefox при вызове .flv-видео из XML-файла с использованием php

У меня есть простой сайт, на котором можно воспроизвести несколько флеш-роликов. У меня есть информация о видео и связанных с ними комментариях, хранящихся в файле xml. Я использую SimpleXML, чтобы перебирать все это и отображать материалы в обратном хронологическом порядке. Все отлично работает в IE8, Safari и Chrome, но в Firefox для всех видео на экране отображается одно и то же видео (то, что находится в [0] в массиве simpleXML). Вся соответствующая информация (заголовок, комментарии и т. Д.) Верна, и просмотр вывода html показывает, что FLV Player вызывает правильный файл ... но Firefox не показывает его!

Итак: есть ли какие-то причуды в Firefox DOM, которые я могу учесть в сценариях php? Что я могу сделать? Эта страница находится здесь: http://omega.uta.edu/~ktb7964

И немного исходного кода для вас: Циклы 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 />"); }

    }
    }
?>

И один раздел файла 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>

Спасибо!


person Keith    schedule 29.01.2010    source источник


Ответы (1)


Во-первых, у вас есть пробелы по крайней мере в некоторых атрибутах вашего идентификатора для тегов object, например: id="FLVPlayer 0". id должен быть непрерывной строкой, если вам нужны разделители, используйте подчеркивания или дефисы.

Сначала я бы попытался проверить его как можно больше. Некоторые из предупреждений здесь неизбежны из-за поддержки flash и кроссбраузерности, поэтому вам придется их обойти, но все, что не связано с flash, должно действовать.

http://validator.w3.org/check?uri=http%3A%2F%2Fomega.uta.edu%2F~ktb7964&charset=%28detect+automatically%29&doctype=Inline&group=0

person prodigitalson    schedule 29.01.2010
comment
Я убрал некоторые из упомянутых вами вещей на Wamp Server, но проблема не устранена. @prodigitalson: спасибо за добавление блоков кода: я не нашел для этого кнопку, пока не отправил! - person Keith; 30.01.2010