Categories

Checkio.ORG

Subscribe to Posts

Email:

  • 04Feb

    Мы продолжаем дарить добро.

    1. django.jQuery(function(){
    2.     $('body').append('<iframe name="fast_save" width="1" height="1"></iframe>');
    3.     $('.submit-row').append('<input class="fast_save" type="button" value="Fast save">');
    4.     $('.submit-row .fast_save').click(function(){
    5.         $('#task_form').attr('target','fast_save').submit().removeAttr('target');
    6.     })
    7. })

    А от какого гемороя избавляют эти красавцы – догодайтесь сами. Обязательно курить вместе со “4мя css строчками счастья”

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags: , , , ,

  • 26Mar

    table-versus-divУ JQuery есть возможность парсить ХМЛ как текст, если передавать его как аргумент «волшебной функции»

    Я это использовал для парсинга XML респонса аякса. Происходило это вот так:

    $.ajax({
    1.  'url':url,
    2.  'dataType':'text',
    3.  'type':"POST",
    4.  'data':data,
    5.  'contentType':'text/xml',
    6.  'success':function(data){
    7.   parser.parse($(data))
    8.  }
    9. })

    Т.к. если аргументом функции JQ передать текст, то она его переводит объект, для которого доступны все функции JQ. По крайней мере я так думал до недавнего времени.

    Как в последствии оказалось:

    Следующий код в mozilla и IE6 будет давать разные результаты.

    1. $('&lt;nn&gt;&lt;c1 /&gt;&lt;c1/&gt;&lt;/nn&gt;').children().length

    mozilla – 2
    IE6 – 0

    А все почему, я по детской наивности откладываю тестирование проекта в IE на последний момент. Наверно потому, что во мне сидит маленький человечек и говорит, что типа «забей, все равно в ИЕ6 никогда все нормально не работает, поэтому тр…ся будеш потом, а пока получай удовольствие и думай, что у тебя все работает отлично»

    Так что пришлось экстренно переделывать, Мы поменяли dateType + в функцию теперь заходит объект DOM, а не текст. И с ним уже надо работать по другим правилам.

    1. $.ajax({
    2.   'url':url,
    3.   'dataType':'xml',
    4.   'type':"POST",
    5.   'data':data,
    6.   'contentType':'text/xml',
    7.   'success':function(data){
    8.      parser.parse(data.documentElement)
    9.   }
    10. })

    В mozilla такое работает, но в ИЕ даже в эту функцию не заходит. Проблема оказалась в хеадере, необходимо передавать Content-Type: text/xml . Сразу решил у XML составить правильную шапочку.

    1. <?xml version="1.0" encoding="utf-8" ?>

    Если серверную часть вы пишите на Django, то вам просто придётся респонсы переделать.

    1. return HttpResponse(''+response,'text/xml; charset=utf-8')

    В процессе парсинга я обрабатываю чаилд ноды. Поэтому ниже я приведу некоторый функционал, который я использую для прохода и получения данных со всей структуры данных.

    Проходимся по всем childNodes:

    1. var childs = el.childNodes
    2. for(var i=0;i<childs.length;i++){
    3.   if(childs[i].nodeName!='#text'){
    4.    parseXml(childs[i])
    5.   }
    6.  }

    Получение аттрибута:

    1. el.getAttribute('id')

    Получения текста:

    1. el.childNodes[0].nodeValue

    Но если вам необходимо парсить текст, который к вам зашёл не через ajax. У меня, к примеру, флешка через External Interface передает аргументы ХМЛ, который необходимо уже парсить внутри JS. Для этих целей я написал отдельную функцию:

    1. function textToXmlEl(text){
    2.    return (new DOMParser()).parseFromString(text,'text/xml').documentElement
    3. }
    4.   if($.browser.msie){
    5.      textToXmlEl = function(text){
    6.       var xml = new ActiveXObject("Microsoft.XMLDOM");
    7.       xml.async = false;
    8.       xml.loadXML(text);
    9.       return xml.documentElement
    10.      }
    11.  }

    первая функция работает для mozilla, но если вы являетесь счастливым обладателем IE, то функция будет переопределена.

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

    И хотя с одной стороны — это бросок камня в огород JQuery, с другой — функционал, которым я хотел воспользоваться — не документирован, а значит за правильную кросбраузерную поддержку разработчики не отвечают. Да и из всего написанного мною кода — это единственная недоработка.

    PS: В Джанго есть еще конфиги DEFAULT_CONTENT_TYPE, это на случай, если вы не хотите переписывать строчку с HttpResponse и вы всегда возвращаете только ХМЛ

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags: , , , , , ,

  • 29Sep

    Вчера на блоге JQuery появилось сообщение о том, что продуктом заинтересовались крупные компании майкрософт и нокиа. Конечно в этом не ничего нового на главной странице продкта красуются логотипы не менее именитых брендов – гугл, делл …

    Но тут дела обстоят куда круче. Майкрософт хочет включить его в ASP.NET Ajax Framework, дополнительных контролов для .NET апликейшенов. А в Нокии JQuery будет включено в их Web Run-Time

    Итого – это показатель. Продукт двигается, его ценят, за ним будущее.

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags: , ,

  • 08Aug

    с утра проходился по жсной ленте Хабра..

    Ниче так себе ленточка скажу я вам… так вот…

    Их опросик. коменты не нужны.

    Хороший постик о шпорах. Но много хорошего пошло уже в коментах. Вот это больше понравилось про JQ. Но дальше народ прошелся по всем.

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags: , , , , ,

   

Recent Posts

Recent Comments

  • Благодарю, начал изучать fabric с вашей статьи....
  • Идея действительно отличная и очень радует то, что подобн...
  • Спасибо...
  • Там четыре круглых кнопочки. Подразумевается, что каждая ...
  • А в чем заключатеся неправильна работа?...