Chrome无法使用PHP/JS生成多个JW播放器
Chrome fails to generate multiple JW players with PHP/JS
我很难用PHP和Javascript让Chrome生成多个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
顺便说一下,当我手动设置div ID值时,一切都工作得很好。
当您手动指定id而不是像这一行所示的基于文件名时,您会说它有效:
<div id="<?php echo $row['fileName']; ?>">Loading the player...</div>
使得来自数据库的某个ID可能不符合格式良好的DOM ID的要求。
尝试查找所使用的无效字符,或使用增量数字ID字段(以file_
之类的前缀)代替。
相关文章:
- SWF通过VAST标签的广告没有在JW播放器中播放
- 使用JW播放器只播放VAST视频,不播放主视频
- JW播放器寻找准备好
- JQuery 替换与 JW 播放器不起作用
- JW播放器渲染小于框的视频
- JW 播放器聪明不工作
- 使用 Play 框架和 JW 播放器嵌入视频
- 使用 JW 播放器闪光灯进行静音切换的链接,回退到 HTML5 视频不起作用
- JW 播放器无法播放 m3u8 流
- 在 JW 播放器开始之前不显示图像,如果 URL 包含字符串 base64
- 如何在 jw 播放器中调用 kaltura 视频
- 如何使用 JW 播放器流式传输视频
- 带有 Youtube 链接的 JW 播放器在 IE9 上不起作用
- 如何在 JW 播放器中显示高清质量
- 如何在 JW 播放器中添加自定义提示点
- 让JW播放器在点击播放之前缓冲帧
- JW播放器:点击logo后执行javascript
- JW播放器未列出的youtube视频
- JW播放器-当其他媒体(RTMP)断开连接时,循环MP4待机视频
- 如何使用javascript命令在jw播放器中获取源url