Небольшие пожелания

Alex_63
TRAHOMOTO:

А я предлагаю предложение генерить линь a.treadstatus как дубль, ведь все равно AJAX “Отметить тему прочитанной” не используется

Хорошая идея, реализуемо на jQuery, тогда .gotonewpost можно вообще убрать
(Только тут jQuery не подключен, а то мну мог бы нарисовать скриптик…

<script type=“text/javascript”>
$(‘.threadbit.new’).each(function (){
 var L = $(this).find(‘.gotonewpost’).parent().attr(‘href’);
 $(this).find(‘.threadstatus’).attr(‘href’,L);
 $(this).find(‘.gotonewpost’).parent().remove();
});
</script>

Кто-нибудь может перевести это на традиционный JS ?

TRAHOMOTO

Комменты нужны?
“Быдлокодовый” скрипт … если будет политическая воля, дайте знать, добавлю еще немного проверок и потестирую

...
<body>
...
<script>
(function() {

  var getThreadstatusNode = function(imgNewPost){
    return imgNewPost
              .parentElement // <a id="thread_gotonew_...
              .parentElement // <h3 class="threadtitle">
              .parentElement // <div class="inner">
              .previousElementSibling; // <a rel="vB::AJAX" class="threadstatus"></a>
  };

  var newPostImgs = document.getElementsByClassName("gotonewpost");


  for (var i in newPostImgs) {
    var aNewPostClone,
        aThreadstatusNode,
        isOwn = (
          newPostImgs.hasOwnProperty(i) &&
          /^0$|^[1-9]\d*$/.test(i) &&
          i <= 4294967294
        );

      if (isOwn) {
        aNewPostClone
            = newPostImgs[i]
                .parentElement
                .cloneNode(false);

        aNewPostClone.removeAttribute("id");
        aNewPostClone.className
          = (aNewPostClone.className==""?"":aNewPostClone.className+" ") + "threadstatus";

        aThreadstatusNode = getThreadstatusNode(newPostImgs[i]);

        aThreadstatusNode
            .parentElement //<div class="threadinfo" title="...">
            .replaceChild(aNewPostClone, aThreadstatusNode)
      }
  }
})();
</script>
</body>
</html>
Alex_63

TRAHOMOTO
Чот заморочено слишком, неужели код на традиционном JavaScript настолько длиннее, чем на jQuery?

=====================================================================================================

TRAHOMOTO:

       aThreadstatusNode
           .parentElement //<div class="threadinfo" title="...">
           .replaceChild(aNewPostClone, aThreadstatusNode)
     }
 }
})();

Может так:

TRAHOMOTO:

       aThreadstatusNode
           .parentElement //<div class="threadinfo" title="...">
           .replaceChild(aNewPostClone, aThreadstatusNode)
     }
 }
}());

(В конце - }());

TRAHOMOTO

Виталий, прошу Вас не давайте мне пилюлю, я уверен Вы поддержите меня в этом вопросе, Вы ведь тоже Web Developer?

Александр.
Это проблема всех девелоперов, которые стартовали свою карьеру сразу jQ, пропустив БАЗУ JS и ECMAScript. Нет, в моем коде нет ошибки, нет проверок на наличие Нод, это да. Почитайте Java Script Bible - весьма полезное чтиво, очень расширяет кругозор 😉

Попробуйте такой код

(function(message){
  alert(message);
})("Hello world");

Это называется анонимная рантайм функция, по сути объявление и вызов метода в одном флаконе. Я ее сделал таковой, чтобы не навешивать хендлер на “загрузку” DOM, т.к. кроссраузерная реализация по объему будет как весь этот скрипт!

Vitaly

Я не буду ничего править на вобле. Инфа 146%. В закрепленной теме написано почему.

Комменты нужны только по нодеке, позже.

1 month later
haSh=

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

Alex_63

ha$h
У меня при клике на появляется окошко (prompt) для ввода ссылки.

2 years later
Bruzga

Добрый день. Есть просьба увеличть длительность сеанса активности аккаунта. Не успеваешь написать пост, даже не очень большой, а тебе: “…вы не имеете права…”. Если не сохранишь текст, то нужно опять набирать. Здесь очень быстро выкидывает из сеанса. На других форумах тоже встречалось такое, но администрация шла навстречу и становилось удобнее пользоваться ресурсом. Спасибо!