我很难让Chrome用PHP和Javascript生成多个JW播放器。仅此一提,Opera/Pale Moon/Firefox中的一切都很好。这是
how it's supposed to look
,这是
how it renders in Chrome
有趣的是,当我将鼠标悬停在JW播放器应该所在的地方时,光标变为“指针”,我实际上可以播放文件,只是播放器本身是不可见的。
我有多个音频文件,它们的所有信息(文件名、路径、描述等)都在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
顺便说一句,当我手动设置DIV ID值时,一切都很好。