У меня есть страница с 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 } ?>
Эта вторая часть циклически повторяется один раз для каждой потенциальной строки в фрейме, по которой можно щелкнуть. #button_in_iframe<?php echo $segment;?>
заканчивается как что-то вроде #button_in_iframe23
для 23-й строки.
Я загрузил jquery как в родительский, так и в iframe. Насколько я могу судить, синтаксис такой, каким он должен быть. Если я удаляю этот бит кода, все работает нормально. если он там, основные звуковые функции на обычных элементах управления, которые я установил, перестают работать. Так что это не только не работает, но и приводит к тому, что все остальное, связанное с элементами управления аудиотега, также перестает работать. Я знаю, что любой маленькой ошибки в jquery управления звуком достаточно, чтобы он перестал работать, но в этом случае я не уверен, в чем проблема.
Заранее благодарим за любые идеи, которые кто-либо может предложить.
Обновление:
У меня так, что больше не вылетает звуковая метка. Теперь проблема заключается в том, что элемент iframe не вызывает событие. Вот код сейчас:
$('#iframe_id').contents().find("button.loop2").bind("click", function() {
alert ("test");
});
Я не получаю никаких ошибок консоли, за исключением Google Maps, встроенных в страницу в другом месте. Когда я нажимаю <button>
с классом loop2
в iframe, все из которых существуют, ничего не происходит. Кажется, это корень проблемы, как это было раньше.