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\'});
    });
});

Таким образом, он не будет работать, пока страница не будет загружена.

Другие вопросы по тегам