我有一个从数据库构建的表。循环创建一行:
<tr >
<td onclick="DoNav('<?php echo $result_videos[$i]["video_url"]; ?>');">
<?php echo $result_videos[$i]["camera_name"]; ?>
</td>
<td onclick="DoNav('<?php echo $result_videos[$i]["video_url"]; ?>');">
<?php echo setlocalTime($result_videos[$i]["video_datetime"]); ?>
</td>
....
</tr>
当用户点击表格中的某一行时,它会将其发送到DoNav
功能以启动流程图:
var js = jQuery.noConflict();
功能DoNav(theUrl)
{
// flowplayer(“播放器”,“flowplayer / flowplayer-3.2.7.swf”,theUrl);
var mydiv = js(“#player”);
var $ myhref = js(“”);
mydiv.append($ myhref);
}
我尝试将播放器构建为href。它必须是一个href,而不是像评论行(我之前使用过,它可以工作,但对iOS支持没有帮助)
以下是我之前使用过的div以及最终对bodyplayer的调用:
<div id="player" style="display:block;width:320px;height:240px;background-image:url(images/videoPlaceHolder01.JPG)"></div>
<script language="JavaScript">
flowplayer("player", "flowplayer/flowplayer-3.2.7.swf");
</script>
单击行不再执行任何操作,我看不到任何错误。很确定我正在将行为与div和href混合用于流媒体,这是不对的。事实上,我在这里混合太多东西,并想知道是否有更简单的方法来创建onclick事件,然后在继续这条疯狂的道路之前启动流动播放器。注意我确实要保留启动图像。
答案 0 :(得分:0)
我不确定这是否可能是问题,但你错过了这一行的双引号:
var $myhref = js("<a href=" + theUrl + " id=player></a>");
您应修改如下:
var $myhref = js("<a href=\"" + theUrl + "\" id=\"player\"></a>");
答案 1 :(得分:0)
看看这个解决方案。
首先,我将视频网址存储在html5数据结构中。这是data-videourl
。然后,您可以使用jQuery的数据方法检索此值。然后我监视td的click事件以获取url并构造包含必要参数的jQuery链接对象。最后,您必须使用流程代码实例化播放器。
<table>
<tr >
<td class="video" data-videourl="http://pseudo01.hddn.com/vod/demo.flowplayervod/flowplayer-700.flv">Video X</td>
</tr>
</table>
$('td.video').click(function() {
//get video url from data-videourl html5 param
var videourl = $(this).data('videourl');
//create a link tag to contain the video
var $video = $('<a />', {
href: videourl,
id: 'player'
});
//append link to page
$('body').append($video);
//instantiate flowplayer on new video object
flowplayer("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf", {
clip: {
// these two configuration variables does the trick
autoPlay: true,
autoBuffering: true // <- do not place a comma here
}
});
});