jquery 插件:本地化和 Facebox 冲突

发布于 2024-08-23 16:51:16 字数 903 浏览 11 评论 0原文

我在尝试将这两个插件一起使用时遇到问题:本地化(用于翻译javascript)和facebox(每个人都知道,对吧?)

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

在 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文件中,我不知道在哪里寻找尝试解决此问题:我认为错误在我的代码中,但我看不到它。 有人有什么想法吗?

I'm having a problem trying to get working those 2 plugins together: Localisation (for translating the javascript) and facebox (everyone knows that one right?)

I can make them work separately without any problem, but when the localisation plugin is loaded and I clic on a link that launches a facebox modal, the ajax request start, the facebox modal window shows up (with the loading gif) and directly the request is aborted (URL turns red and the word "aborted" appears, in firebug)

In firefox's error consol it says: "setting a property that has only a getter" and points to the file: jquery-1.4.min.js, line 126 (I've checked, and it gives the same error with jquery 1.3.2)

And here is my code:

$(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();
})

Since the error is in the jquery file, I don't know where to look to try to solve this issue: I suppose that the error is in my code, but I can't see it.
Any thougts anyone?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一抹淡然 2024-08-30 16:51:16

好吧,我找到了一个“解决方案”。
我没有使用本地化插件,而是根据用户的语言首选项直接在网页中加载语言文件。
我认为问题来自于该插件使用 ajax 请求加载语言文件,并且由于它是一个文件(与正常请求相反),jquery 之后无法执行正常的 AJAX 请求。也许有一种方法可以避免这种行为,如果有人知道请告诉我。
不管怎样,我知道我的 JavaScript 已经被翻译并且 Facebox 插件可以工作了,所以我很高兴。
感谢 Adam 和 Pointy 的建议。
再见

well, i found a "solution".
Instead of using the localisation plugin I load the language file acording to the user's language preference directly in my web page.
I think the problem comes from the fact that the plugin loads the language file with an ajax request, and as it is a file (as oposed at a normal request) jquery has trouble to perform a normal AJAX request after that. Maybe there is a way to avoid this behaviour, if anyone knows please tell me.
Anyway, I know have my javascript translated and the facebox plugin working, so I'm happy.
Thanks to Adam and Pointy for their advices.
see you

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文