проблемы при использовании библиотек prototype.js и json.js

NilovSerge

Новичок
проблемы при использовании библиотек prototype.js и json.js

Всем привет!
Никто не сталкивался с проблемами при использовании библиотек prototype.js и
json.js? Поотдельности они работают нормально но вместе - обработка программы просто обрывается - в консоли никаких ошибок
Чем можно заменить json.js ? Хотелось бы prototype.js оставить ...

Заранее спасибо
 

Alexandre

PHPПенсионер
Чем можно заменить json.js ?
обе библиотеки заменить на jQuery,
очень лаконичное написание кода
позволяет :
- Ajax (любой XML json HTML)
- произвольный доступ к элементам DOM
- лаконичная обработка событий


Пример обработки AJAX запроса (код не самый красивый но работоспособный)
PHP:
function onClickItems(ob){ // click the child node
     $(".reg_menu_links").hover(              // set the handler to
          onHoverMenu,
         function ()  {   $('#reg_menu').css( {"display": "none"} ) ;       }
       );

        level = ob.getAttribute("level");
        id = ob.href;
        id = id.substr( id.lastIndexOf('#') +1 ) ;
    get = "/xml/json.php?action=select&id="+id; // for debug

      $.getJSON( get, 
         function(data){
            $('#reg_node_contayner').html( '' );
             $('#reg_menu').html( '' );

            str='<a href="#"  class="reg_menu_links" >'+ob.text+'</a>'; 
            $('#reg_way').append(str);
            $('#reg_way a:last').css('font-weight', 'bold');
             for( i=0; i < data['item'].length ; i++){
             str = '<a href="#'+data['item'][i]['id']+'" onclick="getDeliveryItemsByClick(this)" class="reg_menu_links" >'+data['item'][i]['name']+'</a><br/>';
                 $('#reg_node_contayner').append( str );
             }
         }, function(){ alert('errors');}
     );
}
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
BRat ты не разобрался с вопросом, тут не обсуждают возможности prototype

я пользуюсь и тем и тем, jquery предпочтительней
 

berkut

Новичок
нормально. не работает пхп - юзай питон, не работает виндавс - юзай линукс. шо нам стоит дом построить
 

BRat

o_0
grigori
это было адресовано Alexandre, который предложил менять прототайп, а не топик стартеру. Так что с моей понималкой все в порядке
 

Alexandre

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

DevelopmentGuru

Новичок
Вменяемые ребята не используют Prototype в иных целях, кроме обучения JS. Дело не во вкусе, а в реальности нашего мира.

Если бы BRat понимал принципиальную разницу между Prototype и jQuery, его "понималка" в этом вопросе была бы действительно нормальной. А пока, для мистера BRat (и некоторых) это вопрос лишь предпочтения.

Никто не сталкивался с проблемами при использовании библиотек prototype.js и
json.js?
Никто не давал право ребятам, которые писали Prototype, расширять (прототипировать) и изменять существующие объекты JavaScript и DOM. Тем самым, любой код, работающий в пространстве, в которое загружена Prototype, имеет дело не с ожидаемыми девственными объектами JavaScript и DOM, а c измененными! Это, простите, идиотизм. Поэтому, использование Prototype вырывает вас из реального мира - вы не можете использовать другой код со 100% уверенностью. Но надо отдать должное, в названии библиотеки это чётко отражено.

jQuery, если почитать хотя бы чуть-чуть про нее, считает своим достоинством именно отсутствие неявного прототипирования! Любой сторонний код живет и пахнет рядом с jQuery свободно. Как и подобает.

NilovSerge, надеюсь, причина несовместимости ясна.

А реальность мира такова, что одним Prototype еще никто не обходился. А кто обходится - защищают его.
 

BRat

o_0
Alexandre
ответ прост - вторую библиотеку использовать не надо

NilovSerge
http://prototypejs.org/learn/json

-~{}~ 28.03.08 22:47:

DevelopmentGuru
давайте не будем разводить холиворы. Вы правильно сказали - это вопросы предпочтения
 

berkut

Новичок
объясните пожалуйста, а в чём косяк прототайпа? он-же не меняет поведение того, что есть в девственном js и дом, он-же только дополняет
 

джамшут

Новичок
DevelopmentGuru, если бы "никто не давал им права", то браузеры бы выдавали ошибку при попытке расширения прототипа, чего мы не наблюдаем.

позови, когда на jQuery можно будет сделать так:
Код:
var items= doc
	.collect(' //script .src ')
	.map( 'wrap', [ '<li>', '</li>' ] )
	.map( HTML )
list.append( items );
 

джамшут

Новичок
получает все скрипты документа, из них вытягивает значения свойства src, которые оборачивает в тэги li, поэлементно парсит в html и полученные узлы добавляет к списку.
 

akxxiv

Новичок
PHP:
$("script[@src]").each(function(){
	$("#scriptList").append("<li>"+ $(this).attr("src") +"</li>");
});
 

джамшут

Новичок
куда потерялся массив items, содержащий добавленные узлы?
почему ты получаешь значение аттрибута, а не свойства?
 

akxxiv

Новичок
Покажи результат у тебя. Я покажу что получилось у меня. И сравним. Если тебе нужны свойства можно сделать так

$("#scriptList").append("<li>"+ this.src +"</li>");

Просто я привык все вытягивать через аттрибуты....
 

джамшут

Новичок
у меня - массив из хтмл-узлов, с которыми я могу далее работать. кроме того, плоский список ссылок тоже бы не помешал..

а разница между свойством и аттрибутом в том, что в аттрибуте находится то, что было написано в исходнике, а в свойстве - то, как это понял браузер.
 
Сверху