1. JavaScript / Говнокод #24345

    0

    1. 1
    2. 2
    3. 3
    4. 4
    var comment = document.querySelector('textarea#formElm_text');
      var info = comment.parentNode;
    
      if(!comment || !info) return;

    https://github.com/1024--/govnokod.ru-userscripts/blob/master/bbcode.user.js

    Запостил: minusinho, 31 Мая 2018

    Комментарии (14) RSS

    • Я до сих пор не могу запомнить "document.querySelector" и особенности обработки его результатов, так что продолжаю пока использовать "$". По-хорошему, скрипт должен был выглядеть так:

      var comment=$('textarea#formElm_text');
      var info=comment.parent();
      if(comment.length==0 || info.length==0) return;
      Ответить
    • И чо?
      Ответить
    • я бы так слепил
      var comment,info;
      if (comment = document.querySelector('textarea#formElm_text'))
        info = comment.parentNode;
      else
        return;
      Ответить
      • Какоой ты скууучный
        if(!((comment = document.querySelector('textarea#formElm_text)) && (info = comment.parentNode))) return;
        Ответить
    • Спасибо, надо будет исправить.

      Ещё есть какой-то баг, из-за которого панель с кнопками не появляется, когда пользователь пишет свой второй комментарий в треде без перезагрузки страницы. На ГК в этом случае используется какая-то другая DOM-питущня, и скрипт падает.
      Хотел потестить, но для этого надо написать комментарий и получить возможность дебажить 5 минут, затем ещё комментарий и т.д. - было лень мусорить.
      Ответить

    Добавить комментарий