2

Мне сложно сгенерировать Chrome с несколькими JW-плеерами с PHP и Javascript. Просто упомянуть об этом, все отлично работает в Opera/Pale Moon/Firefox. Вот how it's supposed to look, вот how it renders in Chrome. Смешно, когда я нахожусь над местами, где должны быть игроки JW, курсор меняется на «указатель», и я могу фактически воспроизвести файл, просто он сам невидим.Хром не может генерировать несколько JW-плееров с PHP/JS

У меня есть несколько аудиофайлов, которые имеют всю свою информацию (имя файла, путь, описание и т. Д.) В базе данных MySQL. Таким образом, while цикл генерирует отдельный DIV для каждого файла в базе данных и устанавливает его тег ID как значение имени файла. Вот код (я ушел из запросов MySQL и все остальное, так как это хлопотно часть):

<?php 
while ($row = mysql_fetch_array($query)){ 
    $fullpath = $row['fileFolder'].$row['fileName']; ?> 
    <div id="<?php echo $row['fileName']; ?>">Loading the player...</div> 
     <script type="text/javascript"> 
     var divName = <?php echo json_encode($row['fileName']); ?>; //since each DIV id has to be different 
     var fullpath = <?php echo json_encode($fullpath); ?>; 
      jwplayer(divName).setup({ 
       file: fullpath, 
       width:300, 
       height:30 
      }); 
     </script> 
    <?php 
     echo "<p class='descriptionAudio'>".$row['description']; 
     echo "<br>"; 
} ?> 

Chrome показывает источник же, как и рабочие браузеров, в то время как инструмент разработчика Chrome говорит:

There was an error while handling a listener: Error: SyntaxError: DOM Exception 12 function (a){n.playerReady(a);f.css.unblock()} jwplayer.js:3 
42 Uncaught Error: SyntaxError: DOM Exception 12 

Кстати, все работает хорошо, когда я вручную устанавливаю значение идентификатора DIVs.

+0

Ну, тогда удостоверение личности, скорее всего, станет преступником. Какие значения могут быть 'есть? –

+0

Так как это аудиофайлы, он содержит такие значения, как «14501_1_1.mp3», «rdj201.mp3» и т. Д. Может быть, мне нужно снять бит .mp3? –

+0

@E, что должно быть в порядке: [Какие символы разрешены в DOM-идентификаторах?] (Http://stackoverflow.com/q/1077084) любые дубликаты или другие более запретные символы? Как сказать '() | {}' .... –

ответ

1

Вы говорите, что это работает, когда вы указываете идентификатор вручную вместо того, чтобы основывать их на имя файла, как показано в этой строке:

<div id="<?php echo $row['fileName']; ?>">Loading the player...</div> 

, что делает вероятность того, что один из идентификаторов, которые поступают из базы данных Безразлично» t соответствуют requirements for a well-formed DOM ID.

Попробуйте найти недопустимые символы или используйте инкрементное числовое поле ID (с префиксом чего-то вроде file_).