0

Web サイトに 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] has no method 'adopt'」と表示されます。

「 SqueezeBox.initialize({ }); 」を Click イベントの外に出そうとしましたが、同じエラーが発生しました。ということで、SqueezeBoxに問題があるようですが、見つかりません。

任意のヒント?

よろしくお願いします


では、何が起こっているのかを確認するために SqueezeBox.js を調べることにしました。

113行目で、witchはコンソールから報告された行でした:

$(this.doc.body).adopt(this.overlay, this.win);

私はそれを次のように置き換えました:

this.doc.body.adopt(this.overlay, this.win);

そして、それは今完全に機能します...

私はそれがJqueryのバージョンか何かから来ていると思います..

とにかくありがとう、さようなら。

4

1 に答える 1

0

要素が存在する前に .js 関数を呼び出しています。JavaScript をページの最後、終了タグ '' の直前に移動してみてください。さらに良いことに、jQuery を使用しているので、'$(document).ready()' ブロックの中に入れてみませんか?

$(document).ready(function() {
    $("#connect").click(function () {
        SqueezeBox.initialize({
            size: {x: 350, y: 400}
        });
        SqueezeBox.open(\'..\connect.php\', {handler: \'iframe\'});
    });
});

この方法では、ページが読み込まれるまで実行されません。

于 2013-02-22T14:35:39.770 に答える