JQuery плагины: локализация и конфликт Facebox
У меня возникла проблема, пытаясь заставить работать эти 2 плагина вместе: локализацию (для перевода javascript) и facebox (все знают, что это правильно?)
Я могу заставить их работать отдельно без каких-либо проблем, но когда плагин локализации загружен, и я нажимаю на ссылку, которая запускает модал facebox, запускается запрос ajax, появляется модальное окно facebox (с загрузочным gif) и непосредственно запрос прервано (URL становится красным, и в firebug появляется слово "aborted")
В консоле ошибок Firefox он говорит: "установка свойства, которое имеет только геттер" и указывает на файл: 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, я не знаю, где искать, чтобы попытаться решить эту проблему: я полагаю, что ошибка в моем коде, но я не вижу ее. Кто-нибудь задумался?
1 ответ
Ну, я нашел "решение". Вместо того, чтобы использовать плагин локализации, я загружаю языковой файл в соответствии с языковыми предпочтениями пользователя прямо на моей веб-странице. Я думаю, что проблема заключается в том, что плагин загружает языковой файл с помощью запроса ajax, и, поскольку он является файлом (как это делается при обычном запросе), jquery не может выполнить обычный запрос AJAX после этого. Может быть, есть способ избежать такого поведения, если кто-нибудь знает, пожалуйста, скажите мне. В любом случае, я знаю, что мой javascript переведен и плагин facebox работает, так что я счастлив. Спасибо Адаму и Пойнти за их советы. увидимся