【发布时间】:2012-03-01 14:15:03
【问题描述】:
我有一个带有iframe 的页面。 iframe 使用jquery.scrollTo 检测音频播放时间并将内容(例如歌词)链接到音频中的正确点。
每行文本都是从 mysql 表中提取的。我想要做的是允许用户单击<iframe> 中的一行,并在此时播放父页面中的音频。这是获取时间的代码,它存在于处理其他音频功能的 jquery 之后:
<?php
include 'mysqlt.php';
$entries=mysql_query("SELECT * FROM `database`.`table`") or die(mysql_error());
while ($ent = mysql_fetch_object($entries)) {
$segment = $ent->index;
$starttime = $ent->time;
$nextline = $ent->time2;
$length = ($nextline - $starttime); ?>
iframe 源页面中也复制了相同的信息以及各行歌词。使用此信息的 jquery 如下:
$("#iframe_id").contents().find("#button_in_iframe<?php echo $segment;?>").bind("click", function(){
audioplayer.currentTime = <?php echo $time;?>;
audioplayer.play();
}
<?php } ?>
第二部分循环,为 iframe 中每个可以点击的潜在行回显一次。 #button_in_iframe<?php echo $segment;?> 在第 23 行的结尾类似于 #button_in_iframe23。
我在父级和 iframe 中都加载了 jquery。据我所知,语法是应该的。如果我删除这段代码,一切正常。如果它在那里,我设置的正常控件上的基本音频功能将停止工作。因此,这不仅不起作用,还会导致与音频标签控件相关的所有其他内容也停止工作。我知道音频控件的 jquery 中的任何小错误都足以使其停止工作,但在这种情况下,我不确定问题出在哪里。
提前感谢任何人都可以提供的任何见解。
更新: 我已经得到它,所以它不再使音频标签崩溃。现在更多的是 iframe 的项目没有触发事件的问题。现在是代码:
$('#iframe_id').contents().find("button.loop2").bind("click", function() {
alert ("test");
});
除了嵌入在另一个位置的页面中的 Google 地图外,我没有收到任何控制台错误。当我在 iframe 中单击带有 loop2 类的 <button> 时,所有这些都存在,什么都没有发生。与之前一样,这似乎是问题的根源。
【问题讨论】:
-
这件作品的输出是什么样的?
currentTime = <?php echo $time; ?>;你也收到控制台错误吗? -
当前时间以 0.0、6.7、13.2 等数字结束。
-
我得到的错误是通过谷歌地图 iframe 存在不安全的 javascript,我已将其删除。现在没有给出错误。
-
嗯?您的音频脚本因 google maps iframe 错误而失败?这是一个棘手的问题吗?
-
没有。我说我得到的唯一错误来自谷歌地图,然后我将其删除,所以现在原始问题保持不变,但控制台显示没有错误。简单地说,在 iframe 中单击 button.loop2 时什么也没有发生。现在没有给出错误。
标签: php jquery mysql audio iframe