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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    jQuery(document).
    filter(function() { return window.top.document === this; }).
    ready(function() {
    jQuery(window.top.document).
    find('body').
    append('<div style="position:absolute;position:fixed;bottom:20px;left:10px;z-index:9999;padding:2px;padding-top:6px;border:2px #808080 solid;border-radius:9px;box-shadow:0 0 10px rgba(128,128,128,0.8);">'
    +'<img border="0" src="data:image/png;base64,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" /></div></div>'
    ....

    вот так делает img

    Запостил: ryselis, 13 Ноября 2014

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

    • ну а как еще заембеддидь картинку в страницу?
      Ответить
    • > position:absolute;position:fixed;
      Hi, IE?
      Ответить
    • > jQuery(window.top.document).
      > find('body')
      гениальнейше.
      Ответить
      • А $(document.body) или $("body") использовать религия не позволяет?
        Ответить
        • top.document.body все же правильнее, как я понимаю, тут фреймы.
          Ответить
      • Если там древненькие IE, то свойства body может и не быть...
        Ответить
        • А древненькие IE умеют встроенные в src картинки?
          Ответить
          • Натуральные - не факт, а вот при всяких эмуляциях да - даже в Quirks 5 есть.
            Правда, не знаю, что там с body.
            Ответить
            • Одна история офигительнее другой. Про Quirks, про body какое-то.

              IE (и не только совсем древние) не умеют схему data: в URI. Совсем. Никак. Даже просить бесполезно.

              Заэмбеддить картинки в IE можно, только если вместо HTML использовать MIME-контейнер, как в электронной почте (mhtml).
              Ответить
              • Ну еще спейсерами можно с имиджмапом, по шейпу на пиксел.
                Ответить
                • Таблицей с раскрашенными ячейками...
                  Ответить
                  • Вот что интересно, я уверен в том, что в конце 90х игрался в интернете в какие-то аркады написаные на ж.скрипте. Не на Флеше и не на Яве. И там как-то картинка обновлялась... И игрушки вроде попиксельно рисовались. Х.з. как они это делали тогда.
                    Ответить
                    • Можно релизовать ездящими картинками с помощью position:absolute либо css-спрайтами.
                      Ответить
                      • Но ведь старый ие не умел в прозрачность рисунков...
                        Ответить
                      • Ну, я не знаю, давно это было, может быть была какая-то другая технология, которая позволяла это как-то поэффективнее сделать. Я помню, что в то время были всякие недокументированые, но доступные функции для ж.скрипта из разных браузеров. В МСИЕ было что-то вроде Command-чего-то там, через которую можно было нехило так браузером управлять, двигать окно,например, или менять ему размер...

                        О, даже ссылку на одну из них нашел, ток у меня больше не запускается:
                        http://www.shockwave.com/gamelanding/alienx.jsp
                        ЗЫ. Там с датой релиза наврали. Я в нее еще в 98-м играл.
                        О, а еще был VRML, который у меня заработал всего один раз... а еще были очень крутые бесплатные 3Д игрушки (сделаные в Директоре + какой-то к нему плагин с логотипом в виде солнышка с полосками), были гонки и стрелялка.
                        Еще на сайте Тойоты была моделька 3Д их какой-то машинки.
                        Ответить
                        • И всё-таки в попиксельном выводе я сомневаюсь. И железо тогда было слабее, и браузер тормознее (по сравнению хотя бы с 2010 годом).

                          Две хорошие модели в VRML:
                          http://www.volgograd.ru/metrotram/ride.pub
                          http://www.volgograd.ru/mamayev-kurgan/

                          Запустить мне их удалось в плагине Cortona 3D, причём пришлось качать из archive.org предыдущую версию, потому что последняя падает. Можно ещё попробовать BS Contact, но незарегистрированная версия надоедает рекламой, да и по функционалу он хуже.
                          Ответить
                        • > http://www.shockwave.com/gamelanding/alienx.jsp

                          Запустилась после того, как я несколько раз обновил страницу и потыкал в пустые места. Она на Флеше, причём она требует установки субплагинов для флеш-плеера. Нажал «Ок», субплагины откуда-то скачались и установились, игра запустилась.
                          Ответить
                          • P.S. Точнее, там не Флеш, а Director.
                            Ответить
                          • В те древние годы она была на Линго (так назывался язык Директора), ну и рантайм там тоже свой был. Может ее переписали потом... Собственно, еще Макромедия после покупки Флеша пыталась упразднить Директор, и как-то их объеденить, поэтому и формат официально называется шоквейв-флеш. Но я все-таки думал, что у Директора остался свой формат. Как-то не смотря на родственность продуктов, тулчейн никогда не был общим / разработчики практически не знали друг о друге.
                            Ответить
                            • Виноват, не разглядел. Игрушка действительно для Директора:
                              http://www.shockwave.com/content/alienx/sis/alienx0.dcr

                              Из-за дурацкого префикса «шоквейв» у меня в памяти путаются Флеш и Директор.
                              Ответить
                    • даже типа 3D игрушки были. сам не видел на хабре читал
                      Ответить
              • > IE (и не только совсем древние) не умеют схему data: в URI. Совсем. Никак. Даже просить бесполезно.
                Неправда. IE8+ замечательно умеют.
                Ответить
                • На сайте-который-нельзя-называть пишут, что IE8+ умеют, но не замечательно: http://habrahabr.ru/post/63395/

                  По крайней мере, фильтры с data: не работают.
                  Ответить
        • > Если там древненькие IE, то свойства body может и не быть...
          да ладно, оно там есть со времен 5ой версии, наряду с document.all
          я помню, я снег и мышек делал
          Ответить

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