SqueezeBox.initialize: у объекта нет метода принятия
Я пытаюсь реализовать SqueezeBox.js на моем сайте, и у меня есть проблема.
Вот мой код:
<script type="text/javascript" src="/js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="/js/mootools-1.2.6-core.js"></script>
<script type="text/javascript" src="/js/SqueezeBox/SqueezeBox.js"></script>
<script type="text/javascript">
$(function() {
$("#connect").click(function () {
SqueezeBox.initialize({
size: {x: 350, y: 400}
});
SqueezeBox.open('..\connect.php', {handler: 'iframe'});
});
});
</script>
...
<a id="connect" href="#">CONNEXION</a>
Когда я нажимаю на ссылку, консоль Chrome говорит: " Uncaught TypeError: Object [object Object] не имеет метода 'accept' "
Я пытался убрать " SqueezeBox.initialize({ }); " из события "Click" и ту же ошибку. Итак, похоже, что у SqueezeBox есть проблема, но я не могу ее найти.
Какие-нибудь советы?
С наилучшими пожеланиями
Итак, я решил посмотреть на SqueezeBox.js, чтобы увидеть, что происходит.
Я видел в строке 113, что ведьма была сообщена из консоли:
$(this.doc.body).adopt(this.overlay, this.win);
Я просто заменил это на:
this.doc.body.adopt(this.overlay, this.win);
И это прекрасно работает сейчас...
Я думаю, что это происходит от версии Jquery или что-то..
В любом случае, спасибо.
1 ответ
Вы вызываете функцию.js до того, как элемент появится. Вы можете попробовать переместить свой javascript в конец страницы, непосредственно перед закрывающим тегом ''. А еще лучше, если вы используете jQuery, посмотрите, почему бы не поместить его в блок $(document).ready()?
$(document).ready(function() {
$("#connect").click(function () {
SqueezeBox.initialize({
size: {x: 350, y: 400}
});
SqueezeBox.open(\'..\connect.php\', {handler: \'iframe\'});
});
});
Таким образом, он не будет работать, пока страница не будет загружена.