ЙажаСценарий / Говнокод #4996 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
<script>
   location.href=location.href;
</script>

Этот код работает - он обновляет страницу, встречал не раз.
window.location.reload() все-таки гораздо красивее...

Запостил: elCreator elCreator, (Updated )

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

      • тащемто я там написал про кеш, но ведь это зависит еще от того, что вернет сервер на if-modified-синс итд
        Ответить
        • ну это нас не интересует пока, главное что reload() перегрузит документ, а assign() нет. а детали уже от вендора зависят.
          Ответить
  • Это не говнокод, а рекурсивный метод псевдорекурсии, который рекурсирует рекурсию через рекурсивированный location.href. Люди прочитавших, сойдут с ума.
    Ответить
    • Прикол получился, прям в лучших традициях башорга (про рекурсию имеется ввиду )

      Короче пишу библиотеку с хуком. Естественно по ходу дела баг за багом, надоело клацать по кнопке отладка, поставил в настройках just-in-time debugging опцию "Attach without confirmation", нормально, удобно... В конце-концов вроде основной код заработал, финальный аккорд - инжект в winlogon. Поснимал комменты, запускаю.
      Красота, чудненькое такое окошко "привет из винлогона" тут всё и обламывается.
      Моментально вылазит Оля и, чего и следовало ожидать, зависает, пытаясь приаттачится к нему-родимому. Всплывает ещё одна Оля, чтоб спасти ту Олю, которая упала первой, тоже падает, история повторяется и панель задач плавно заполняется кнопками с красной кляксой, на фоне этого беспредела злобно ухмыляется предательский message box, клава не работает, ужос... Потянулся уже к ресету, тут первая Оля наконец раздуплилась, и еле успела матюкнутся "Debugged program was unable to process exception", получился красивый такой bsod с надписью windows logon process вперемешку с иероглифами. Апофеоз Винда потом загрузилась со второй попытки
      Ответить
    • Кстати, в IE возможно ещё <script language="VBScript" type="application/vbscript">
      В других браузерах альтернатив Javascript я пока не видел. У кого-нибудь есть примеры?
      Ответить
          • Так тот сайт, где ты сейчас сидишь содержит овер найн фаузент этих пруфоф. Правда не всегда работающих...
            Ответить
      • IE "собственный язык" не помог, зачем он другим?
        Ответить
        • Наличие второго языка в IE полезно тем, что на VBScript можно написать перенаправлялку на сайт мозиллы/оперы/хрома/чего-нибудь ещё даже без ифов. Помните http://govnokod.ru/4923 ?
          Ответить
            • Чтобы на другом браузере точно не сработало, даже если включена маскировка под ИЕ.
              Ответить
              • кондишенал комментс рулят
                а в js if (document.all) :)))

                писать на vbs -- физически больно
                на javascript, впрочем, тоже
                Ответить
                • Как-то вы не так делаете, что вам на javascript больно
                  Ответить
                  • да, я всего лишь стараюсь писать легко читаемый, объектно-ориентированный, поддающийся легкому рефакторингу и тестируемый код. Все эти пункты на JS или слабо выполнимы или почти не выполнимы (про всякие gwt мы не говорим).

                    Я конечно понимаю, что в мире веб-дева так делать не принято, но я все таки привык:(((

                    хотя если выбирать из vbs VS js, то конечно я скажу js
                    Ответить
                    • Ну, в жс не такой ооп, как у других, надо им пользоваться, больно не будет, честно )
                      Ответить
                      • а кто-то пользуется?

                        есть хоть один крупный проект на javascript с использованием ооп? Что бы был полиморфизм там, наследование, и прочие баззворды?
                        Ответить
                        • Насчёт полиморфизма — там сплошной полиморфизм, когда объекты являются простыми ассоциативными массивами (или наоборот, кому как нравится)..
                          Наследование в жс принято на прототайпах. Ну, извиваются, конечно, делая "как настоящее", но потом становится больно, наверно.. Потому что костыль (хотя я так не делал, поэтому это мои додумки, если что)
                          А что такое баззворды?)
                          Ответить
                          • 1) причем тут полиморфизм? Я говорю о двух имплементациях одного интерфейса
                            2) технически -- да. Я спросил -- где это используется. Пример)

                            баззворды -- модные слова))

                            короче: мне не нравится, что класс это функция. Мне не нравится что по этому класс я должен писать как function. Мне не нравится, что по этому же приватные я пишу как var, а публичные как this.bla =, мне не нравится вытекающая оттуда чехорда со словом this, мне не нравится, что нет статической типизации, что почти невозможно нормально юнит-тестировать (даже пхп можно), писать крупные проекты на JS я бы не стал
                            Ответить
                          • объект это не ассоциативный массив

                            а полиморфизмом почему-то пытается пользоваться каждый дятел, случайно узнав про конструкцию for...in
                            Ответить
                    • я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS, я не осилил JS.
                      Ответить
                      • сочуствую)
                        я осилил, и потому и говорю что язык не очень-то удобный для серьезной разработки)

                        то, что я не осилил -- я обычно не обсуждаю, что бы не выглядеть дурачком)
                        Ответить
                    • Между прочим, js сам по себе, достаточно простой, но в сочетании со всякими flash и серверными приложениями образует неплохой и достаточно мощный конгломератик.
                      Ответить
                      • зачем JS флешу? Внутри флеша (тоже костыльная технология кстати) есть AS. Разве что что бы флеш с HTML дружить динамически))

                        а про сервер вообще не понял: Вы про ajax?))

                        я вообще не про то говорил: писать на javascriptе крупные приложения неудобно. Вот и все)
                        Ответить
                        • > Разве что что бы флеш с HTML дружить
                          > Вы про ajax?))
                          именно
                          --
                          Писать крупные приложения, вообще-то да, простого тут мало...
                          Но у нас под брюхом есть страна волшебников - Китай, а чуть подальше - Индопакистан, их много, байтов на всех не хватит. Так что, выход есть - развиваем управление голосом...
                          Ответить
                    • ИМХО JS прям отличный язык. Надо смерится с тем сто не ООП а функциональный и многое пройдет.
                      Да ООП кривое насквозь пых со своим кривым ООП это просто мечта по сравнению с JS и это факт

                      так не надо юзать слабые сторноы языка нет ООП в Js ну и нах.

                      в си тоже нет и никто же не плюется а те ко плюется пишут на си++ .
                      Js очень удобный простой язык с множеством возможностей.

                      Все это я сказал к тому, что качества языка не зависит от наличия и уровня в нем ООП. ООП это лишь парадигма программирования и причем не единственная.
                      Ответить
                      • Вот интереса ради почитайте что такое "функциональный язык", и потом скажите -- в каком месте JS -- функциональный))))
                        Ответить
                        • Существуют различия в понимании функции в математике и функции в программировании, вследствие чего нельзя отнести Си-подобные языки к функциональным, использующим менее строгое понятие. Функция в математике не может изменить вызывающее её окружение и запомнить результаты своей работы, а только предоставляет результат вычисления функции.
                          function (a)
                          {
                          a+=1;
                          }

                          И в тоже время a=1; test(a); alert(a);

                          переменная а не будет изменена.

                          по ссылке передаются только объекты и их можно изменить. Но мы то знаем что и как работает. Передается адрес массива в памяти и этот адрес нельзя изменить

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

                          Но также можно смазать что JS не объектно отрепетированный потому что все что там оно такое просто не возможно использовать.

                          ИМХО все сводится к личному отношению как относится к языку JS как ООП в котором его лучше не было или как функциональному которому язык ближе.

                          Можете меня минусовать на плюсы я не дрочу.

                          Меня более интересует полемика.
                          Ответить
                          • JS похож на функциональные только потому, что его накорябал скимер.
                            но что удивительно, он не перенес на него ни самые вкусные плюшки scheme, ни осилил статическую типизацию и inference.
                            Ответить
                          • в JS нет глобальных переменных, это свойства Global доступные через замыкания
                            Ответить
  • Учите матчасть. Использование location.reload() после POST приводит к тому, что браузер спрашивает у пользователя разрешение на повторную отправку запроса. С присваиванием location.href = location.href всё проходит гладко.
    Ответить
    • ясен пень, reload() повторяет какой бы то ни было предыдущий запрос, а assign() выполняет GET
      Ответить

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8