Не идет обработка в Firefox
Fullajax Support - AJAX + AHAH
Февраля 07, 2012, 03:06:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Не идет обработка в Firefox  (Прочитано 866 раз)
trooll
Новичок
*

Авторитет: 0
Сообщений: 14


Просмотр профиля
« : Августа 17, 2010, 10:28:26 »

Доброго времени суток.

В общем разрабатываю компонент для Joomla 1.5 решил использовать в разработке fullajax библиотеку.

В процессе тестирования работы компонента выявились баги которые не дают работать компоненту полноценно.

Короче разрабатывал и тестил в браузере Opera, после окончания разработки начал тестировать в других браузерах в  Firefox 3.6.3 было обнаружено что скрипт не работает корректно, а в частности вообще не отдает не чего и не как.

Консоль ошибок Firefox пишет такую боломуть:
http://s57.radikal.ru/i157/1008/b7/c4805f012811.jpg


Собственно вот ссылка на страницу компонента (не работает только здесь так как только здесь использовал библиотеку):
http://waywater.ru/component/option,com_order_product/Itemid,8/

Данные для авторизации:
login: test
pass: 123456

В исходном коде отделил код компонента (что бы удобнее было смотреть) следующей конструкцией:
<!--//[START] COMPONENT//-->

КОД КОТОРЫЙ ОТНОСИТЬСЯ К КОМПОНЕНТУ

<!--//[END] COMPONENT//-->


Хочу заметить что в Браузере Opera работает корректно так как и задумывалось, а вот в  Firefox нет.

В общем прошу помощи в этом вопросе, так как не хочется переделывать механизм работы скрипта на статическую обработку.

А также интересно это баг в библиотеке или все же это у меня руки кривые?


UPD: Вспомнил что еще существует браузер с кодовым названием IE , так вот там наблюдаться тоже самое версия интернет експлорера 7
« Последнее редактирование: Августа 17, 2010, 10:39:43 от trooll » Записан
Ruslan
Administrator
*****

Авторитет: 29
Сообщений: 1 130



Просмотр профиля
« Ответ #1 : Августа 17, 2010, 12:27:47 »

Код
javascript:
 
function addUnite() {
 hax({url: "", id: "com_op_order_product", method: "post", params: "jaxrrr=1&task=addunite", nohistory: 1, anticache: 1, add: 1});
}

url: "" - это куда запрос? в пустоту Улыбающийся ?
Записан
trooll
Новичок
*

Авторитет: 0
Сообщений: 14


Просмотр профиля
« Ответ #2 : Августа 19, 2010, 13:17:53 »

Вот елки палки все же криворукость не лечиться Улыбающийся

Ruslan - спасибо огромное. Вот появился вопрос а есть возможность отправлять данные на ту же страницу без указывания конкретного URL-а?

Хочу заметить в опере такая конструкция (оставить пустой параметр url) прокатываете и запрос уходит на текущий адрес url.
Записан
Ruslan
Administrator
*****

Авторитет: 29
Сообщений: 1 130



Просмотр профиля
« Ответ #3 : Августа 19, 2010, 18:06:09 »

используйте location.href
Записан
trooll
Новичок
*

Авторитет: 0
Сообщений: 14


Просмотр профиля
« Ответ #4 : Августа 19, 2010, 23:16:57 »

М-да и правда что это я так, старею совсем память не та Улыбающийся

Понятно значит нет встроенного механизма, ну да ладно не так это и важно.

Ruslan я вас наверное уже замучил вопросами, но все, же после того как переписал чуток это все дело про которое писал в старт посте.

Переписал на div верстку, так как фаер фокс не корректно обрабатывал ответы от сервера (почему то убирал теги TR и TD) иза чего структура html верстки ломалась и было не красиво да и логика работы скрипта JS функций ломалась.

Чуток отклонился от темы Улыбающийся . В общем суть проблемы такова:
IE почему то после того как добавиться новый элемент в структуру HTML с помощью hax() после ответа сервера.
функция  getElementsByTagName неправильно срабатывает и в итоге IE утверждает что  элемент не был добавлен и структура не изменилась. Хотя при всем при том в Опере, Хроме, Фаер фоксе все нормально обрабатывается.

Может вы подскажите в чем проблема , и может быть есть какое то лечение, или же опять я чего то накуралесил.

Если понадобиться плащядка для тестов то все данные остались не низменными:
http://waywater.ru/component/option,com_order_product/Itemid,8/

Данные для авторизации:
login: test
pass: 123456

В исходном коде отделил код компонента (что бы удобнее было смотреть) следующей конструкцией:
<!--//[START] COMPONENT//-->

КОД КОТОРЫЙ ОТНОСИТЬСЯ К КОМПОНЕНТУ

<!--//[END] COMPONENT//-->


P.S.: Хотя по мойму при подобных проблемах одно правильное решение: Забыть на всегда о существование некого браузера IE, на веки вечные, а лучше навсегда.
« Последнее редактирование: Августа 19, 2010, 23:21:06 от trooll » Записан
Ruslan
Administrator
*****

Авторитет: 29
Сообщений: 1 130



Просмотр профиля
« Ответ #5 : Августа 20, 2010, 10:27:11 »

1) не лепите все в одну тему, разделяйте свои вопросы
2) какой конкретно тег ищете с помощью getElementsByTagName ?



Записан
trooll
Новичок
*

Авторитет: 0
Сообщений: 14


Просмотр профиля
« Ответ #6 : Августа 21, 2010, 20:13:07 »

1) не лепите все в одну тему, разделяйте свои вопросы
Хорошо будим исправляться  Улыбающийся , в будущем буду учитывать данный пункт.

2) какой конкретно тег ищете с помощью getElementsByTagName ?

Собственно тег:
<mjs id="СДЕСЬ_ID_СЛУЧАЙНЫЙ"></mjs>

Это можно сказать служебный тег использую для того что бы считать блоки как раз с помощью getElementsByTagName.

Вот две функции в которых используется getElementsByTagName :

Код:
function delUnite() {
mjs = id( 'com_op_order_product' ).getElementsByTagName( 'mjs' );

mjsCount = mjs.length;

if ( mjsCount > 1 ) {

delUniteClean(mjs[mjsCount - 1].id);
}
}

function delUniteClean( blockId ) {
mjs = id( 'com_op_order_product' ).getElementsByTagName( 'mjs' );

mjsCount = mjs.length;

if ( mjsCount > 1 ) {
id( 'com_op_order_product' ).removeChild( id( blockId ) );
}

}
« Последнее редактирование: Августа 21, 2010, 20:15:28 от trooll » Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap Valid XHTML 1.0! Valid CSS!