【问题标题】:SqueezeBox.initialize : Object has no method adoptSqueezeBox.initialize : 对象没有方法采用
【发布时间】:2013-02-22 14:27:26
【问题描述】:

我正在尝试在我的网站上实现 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 行看到,女​​巫是控制台报告的行:

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

我只是将其替换为:

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

现在可以完美运行了...

我猜它来自 Jquery 的版本或什么的..

谢谢,再见。

【问题讨论】:

    标签: javascript jquery squeezebox


    【解决方案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\'});
        });
    });
    

    这样它在页面加载之前不会运行。

    【讨论】:

    • 嗨,daveyfaherty,我按照你说的做了尝试,但没有任何改变:/
    猜你喜欢
    • 2016-10-06
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    相关资源
    最近更新 更多