我很难让 Chrome 使用 PHP 和 Javascript 生成多个 JW 播放器。顺便提一下,在 Opera/Pale Moon/Firefox 中一切正常。这是它的外观,这是它在 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
顺便说一句,当我手动设置 DIVs ID 值时,一切正常。