Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   jQuery при XSLT преобразованиях на клиенте (https://javascript.ru/forum/xhtml-html-css/8674-jquery-pri-xslt-preobrazovaniyakh-na-kliente.html)

Родзевич Олег 08.04.2010 15:08

jQuery при XSLT преобразованиях на клиенте
 
Всем привет!
Я делаю следующее:
Клиенту передаю XML, в шапке указан XSLT шаблон
В шаблоне указан ряд javascript'ов, которые в общем случае работают. Но когда указывается jQuery ломается и всё перестаёт работать.

Помогите решить проблему.
В FireBug следующие ошибки:
Код:

....loading....
        0        Запущен
        0        0        DNS-запрос
        0        0        Подключение
        0        0        Блокирование
        0        0        Отправка
        0        78ms        Ожидание
        +78ms        0        Получение
Был достигнут лимит журнала сообщений Firebug. 0 вхождение не отображается.                Настройки лимита       
Firebug cannot find _firebugConsole element true Window index.php?table=lots1
Firebug cannot find _firebugConsole element true Window index.php?table=lots1
Firebug cannot find _firebugConsole element true Window index.php?table=lots1
Firebug cannot find _firebugConsole element true Window index.php?table=lots1
d.style is undefined
[Break on this error] true;if(ya)c.inArray=function(a,b){ret....55;'>a</a><input type='checkbox'/>";
jquery....min.js (строка 33)
$ is not defined
[Break on this error] $(function(){
init.js (строка 124)


x-yuri 08.04.2010 17:24

выясни, что именно вызывает ошибку. Подключения JQuery достаточно, чтобы возникла ошибка? Поставь временно несжатый jquery и выясни, в какой именно строке возникает ошибка

subzey 08.04.2010 17:32

Добавлю вопросов: в опере и гуглохроме тот же код работает?

Родзевич Олег 08.04.2010 21:52

Вообще пытался проблему решить на форуме jQuery
http://www.linkexchanger.su/forum/vi...&t=302&start=0
Но мне там не помогли.
В не сжатом состоянии получается такая ошибка
Код:

div.style is undefined
[Break on this error] div.style.display = "none";
jquery-latest.js (строка 834)

Что касается браузеров, то в Опере работает нормально, а вот в Хроме возникают те же ошибки.

subzey 08.04.2010 22:09

У Firefox раньше была проблема с XSLT — скрипты запускались в исходном дереве, а не в сгенерированном. Как сейчас — не знаю, увы, но, возможно, она и осталась. Но, по крайней мере, очень похоже.
Попробуйте подключение скрипта завернуть в <![CDATA[:
<![CDATA[<script type="text/javascript" src="/js/lib/jquery.js"></script>]]>

Родзевич Олег 08.04.2010 22:20

Завернул, ошибок jQuery больше не стало, по моему его вообще не стало ...
Код по прежнему не работает

x-yuri 08.04.2010 23:43

Цитата:

Сообщение от Родзевич Олег
по моему его вообще не стало

:haha:

похоже ошибка возникает при инициализации jQuery. Kolyaj что-то говорил про урезанный DOM в XML, посмотри, есть ли у div свойство style. Думаю надо будет либо фиксить jQuery, либо отказываться от нее

Или это я из статьи взял:
Цитата:

Заметьте, что в последнем примере, xml-лизированы только svg-элементы, а все прочие оставлены в качестве html. Это связано с тем, что xml-элементы из незнакомых браузеру пространств имён обладают крайне убогой объектной моделью в яваскрипте. В частности, у них нет волшебных свойств style, innerHTML и многих других.
http://mojura.110mb.com/?article:kill.html

Родзевич Олег 09.04.2010 01:50

Походу дело тогда совсем тухлое, плохо

x-yuri 09.04.2010 02:51

а зачем xml передавать? Что там вообще происходит?

Родзевич Олег 09.04.2010 03:20

Я хотел сократить трафик и для генерации страниц использовать XSLT на стороне клиента
Геморой вообще дело не излечимое, если уж гемороишься, то приходится разбираться до конца
Был бы неплохой вариант, если он конечно существует, пофиксить это на уровне правильного использования технологий. Мне кажется что я где-то ошибаюсь и что-то неправильно делаю


Часовой пояс GMT +3, время: 21:51.