【问题标题】:jquery plugins: localisation and facebox conflictjquery插件:本地化和facebox冲突
【发布时间】:2010-02-27 23:06:14
【问题描述】:

我在尝试将这 2 个插件一起工作时遇到问题:Localisation(用于翻译 javascript)和 facebox(每个人都知道,对吗?)

我可以让它们单独工作而没有任何问题,但是当本地化插件被加载并且我点击一个启动 facebox modal 的链接时,ajax 请求启动,facebox modal 窗口显示(带有加载 gif)和请求直接中止(URL 变为红色,并且在 firebug 中出现“aborted”字样)

在 firefox 的错误控制台中,它说:“设置一个只有 getter 的属性”并指向文件:jquery-1.4.min.js,第 126 行(我已经检查过,它给出了与 jquery 相同的错误1.3.2)

这是我的代码:

$(document).ready(function() {
    $.localise('idioma', {language: AmigoPoints.lang, path: AmigoPoints.baseHref + '/public/js/jquery/'});
    //añadir /format/html/ a los href para que sea AJAX para ZF
    $('a[rel*=facebox]').each(function() {
        this.href += '/format/html';
    })
    // inicializa el plug-in que lanza nuevos links en ventanas modales
    jQuery('a[rel*=facebox]').facebox();
})

由于错误在 jquery 文件中,我不知道到哪里去尝试解决这个问题:我想错误在我的代码中,但我看不到它。 有什么想法吗?

【问题讨论】:

  • 只是一个提示 - 获取原始的,不是缩小版的 jQuery 并检查你的脚本的哪一部分调用了失败的 jQuery 部分 - 这个问题主要是 not 在 jquery 中,但在使用 jquery 函数的方式。
  • 我完全同意:我确定问题出在我的代码中,而不是在 jquery 中。我已经尝试过您的提示,引发错误的行是 nº 5252:firebug 向我显示了这一行:for (var j = 0; j
  • 如果您无法通过 Firebug 堆栈跟踪找出您的代码在哪里失败,请尝试将您的代码部分包装在“try/catch”块中。

标签: jquery localization conflict facebox


【解决方案1】:

好吧,我找到了一个“解决方案”。 我没有使用本地化插件,而是直接在我的网页中根据用户的语言偏好加载语言文件。 我认为问题出在插件加载带有ajax请求的语言文件的事实,并且因为它是一个文件(与正常请求相反),jquery在此之后无法执行正常的AJAX请求。也许有一种方法可以避免这种行为,如果有人知道请告诉我。 无论如何,我知道我的 javascript 已经翻译并且 facebox 插件可以正常工作,所以我很高兴。 感谢 Adam 和 Pointy 的建议。 再见

【讨论】:

    猜你喜欢
    • 2012-08-20
    • 2013-02-08
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多