HTML5 в HabraStorage

    Очень часто можно столкнуться с тем, что картинки в топике не грузятся и в комментариях пользователи возмущаются, что «надо бы перезалить картинки на HabraStorage». Но не все готовы устанавливать какой-то Adobe FlashPlayer, чтобы пользоваться этим сервисом.

    Поэтому я написал небольшой userscript для себя и готов поделиться им со всеми.



    Только сразу предупреждаю, что это мой первый юзер-скрипт и я плохо знаю JavaScript. Эту штуку я тестировал только в Firefox 13 (GreaseMonkey) и она может не работать в других браузерах. Но если в комментариях подскажут что надо пофиксить, чтобы работало хотя бы в Chrome/Chromium и Opera, то я исправлю.

    Внимание! Мультиаплоад глючит, поэтому лучше грузить картинки по одной!

    UPD: Обратите внимание, что перемещать нужно файл, а не картинку с другого ресурса:

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 66

      –9
      а мне dropi.ru больше нравится
        +4
        Спасибо, посмотрю. Но для картинок на Хабре, мне кажется, лучше использовать официальный HabraStorage.
          +5
          Вижу первый раз, и знакомство как-то не задалось прям со вступительных слов
          Sorry, our uploader doesn't yet work on your browser (which doesn't support drag and drop file uploads).
          Из функционала для опероводов доступно только схватить эту надпись и таскать её по экрану.
          • UFO just landed and posted this here
              0
              Но не заливает =) файл апи нет еще.
              • UFO just landed and posted this here
                • UFO just landed and posted this here
                    0
                    Ну, драг и дроп работает, перетаскивая картинку он спрашивает заливать ли ее, а затем должен проверять размер/тип итд и вот тут ложится, поэтому мне и кажется дело именно в файл апи.
                  • UFO just landed and posted this here
                0
                На Safari таже фигня, хотя drag'n'drop поддерживается на ура.
                • UFO just landed and posted this here
                    0
                    Последняя версия поддерживает же?
                  +29
                  Похоже, что топик минусуют флешеры.

                  Вы не обижайтесь, ребята, на «какой-то Флеш», но зачем мне нужна программа, разработку которой под мою ОС уже прекратили и из-за которой иногда жутко глючит браузер?
                  • UFO just landed and posted this here
                      0
                      Ну я не против править, если будут багрепорты.
                    0
                    Отправил issue на GitHub.
                      +18
                      Ответил на issue на GitHub.

                      Мне приходят уведомления на гитхабе, поэтому давайте не будем тут их копировать? :-)
                      +3
                      Последний скрин так хорошо вписывается, что я секунд пять тупил, что это за <<кенные файлы>> такие
                        –2
                        imgur.com держит удар хорошо. и плагинов у них подо все браузеры и клиенты разные десктопные.
                          +4
                          How long do you keep the images?
                          As long as images are getting at least 1 view every 6 months, they will stick around forever. After that, your image may be removed to create more space for newer images.

                          К тому же имгур при каких-то условиях перестает отдавать картинки, возможно, из-за превышения трафика и/или не нравятся реферреры.
                            0
                            Если подумать, так себя вести будет любой картинкохостинг. Рано или поздно.
                        • UFO just landed and posted this here
                            +1
                            В вашей ссылке специально первый символ в русской раскладке?
                            Долго тупил, почему по правому клику и «Перейти по адресу ...» выводит 404, а в адресной строке будто бы кириллический домен.
                            • UFO just landed and posted this here
                            +5
                            /me растерянно переводит взгляд с надписи «перетащи картинку сюда» на консоль, где у меня проходят все операции с файлами, в том числе и картинками. в кои-то веки кто-то решился сваять альтернативное решение неработающему флешу, а я даже не смогу им воспользоваться :(
                            не мой день. =)
                              +6
                              Если я вас правильно понял, то…

                              curl --form Filedata=ваша_картинка http://habrastorage.org/uploadController/?username=sledopit&userkey=ваш_ключ
                              
                                +1
                                Ух ты, здорово. Спасибо большое.
                                  0
                                  А мультиаплоад работает? :)
                                    0
                                    Если я вас правильно понял, то…

                                    for file in *
                                    do
                                        curl --form Filedata=@$file http://habrastorage.org/uploadController/?username=el777&userkey=ваш_ключ
                                    done
                                    

                                    Bash плохо знаю, но должно работать :-)
                                      0
                                      Я имел ввиду отправить несколько файлов в одной форме.
                                      $ curl -F Filedata=@1.jpg Filedata=@2.jpg…
                                      Тут вопрос обработает ли такое принимающий скрипт.
                                        0
                                        Вроде нет, иначе бы я так и сделал мультиаплоад. А так приходится в цикле слать, и то почему-то виснет :-(
                              • UFO just landed and posted this here
                                  0
                                  Если верить советам в ХаброПочте, то не только это мешает работать скрипту в других браузерах.

                                  Но ваш совет тоже учту, спасибо!
                                    0
                                    Кстати, зачем вешать DOMContentLoaded? Я где-то читал, что мой юзер-скрипт начнет выполняться уже после загрузки DOM.
                                    • UFO just landed and posted this here
                                      • UFO just landed and posted this here
                                        • UFO just landed and posted this here
                                          • UFO just landed and posted this here
                                            • UFO just landed and posted this here
                                                0
                                                Мне все-равно полной загрузки дождаться надо :-)
                                        +6
                                        window.addEventListener('DOMContentLoaded', function(){main();}, false);
                                        

                                        Почему не так?
                                        window.addEventListener('DOMContentLoaded', main, false);
                                        
                                        • UFO just landed and posted this here
                                            +7
                                            Создать анонимную функцию, которая вызовет main? Фигасе красота.
                                            • UFO just landed and posted this here
                                              • UFO just landed and posted this here
                                                • UFO just landed and posted this here
                                                    +3
                                                    В том, что это — глупо. Вы говорите «вызови фукнцию, которая вызовет функцию main», хотя вам всего лишь необходимо «вызвать функцию main»
                                        –5
                                        «не все готовы устанавливать какой-то Adobe FlashPlayer»
                                        Еще существуют такие люди? Небось интернет из консоли смотрят, и html сырой читают.
                                          +8
                                          Я вот удивлен, что еще есть люди, которые не думают, что flash пора закапывать
                                            –4
                                            Я вот тоже удивляюсь людям, которые абсолютно уверены, что флеш пора закапывать, несмотря на то, что адекватной альтернативы-то и нет пока что
                                              +3
                                              Это не делает флеш адекватной технологией
                                                0
                                                Адекватность — крайне растяжимое понятие. Я тоже не очень люблю флеш, но так же и не вижу в нем ничего криминального
                                                  0
                                                  Адекватность — крайне растяжимое понятие.
                                                  Тогда сами не используйте его.
                                                  Я тоже не очень люблю флеш, но так же и не вижу в нем ничего криминального
                                                  Ну, если бы он не вызывал невыносимые подвисания всей системы, я бы ходил по интернету без флешлока.
                                                    0
                                                    Хм. Просто интереса ради, а где вы его в интернете просто так встречаете? Я встречаю либо в виде видео, либо игр, либо флеш-сайтов. Т.е. практически всегда тогда, когда я ожидаю, что будет флеш. Случайно можно встретить его разве что в баннерах, но баннеры режутся… Да и то, это скорее проблема баннерописателей — уж баннеры на каком-нибудь ХТМЛ5 жрали бы ресурсов точно не меньше.
                                                    Впрочем, вам самим решать, конечно же.
                                                      0
                                                      Я встречаю либо в виде видео, либо игр, либо флеш-сайтов.
                                                      Во всех этих случаях.
                                                      Т.е. практически всегда тогда, когда я ожидаю, что будет флеш.
                                                      То, что я ожидаю, что будет флеш, не мешает ему тормозить и вешать систему.

                                                      И я еще не говорю про то, что флеш — огромное нагромождение костылей, которое, при этом остановило поддержку половины актуальных платформ.
                                                        –5
                                                        Блин, да я просто в шоке. Я не говорю, что flash — круто, но так как технология до сих пор используется, то не мешало бы и установить его. И я не могу понять, что у вас за flash и на каких сайтах он «тормозит и вешает систему». За всю жизнь у меня он повис около 5-10 раз. А при том что в Chrome это сопровождается просто выбрасыванием дохлого смайла, то это вообще пустяк. Единственное уважительное оправдание отсутствию flash — бюджетные телефон пятилетней давности. Либо человек просто не в состоянии установить его, но на хабре таких нет. Остальное можно отнести к запущенному ФГМ.
                                                          +2
                                                          Ну вот для моей ОС, к примеру, Flash уже не выпускают :-) И далеко не я один пользуюсь этой таинственной системой, тем более на Хабре.
                                                            +3
                                                            Мне кажется, что вы видели работу Flash только на топовом процессоре и только в одной ОС. Как сказал kafeman, для нашей ОС его не выпускают, как и для всех мобильных ОС.

                                                            За всю жизнь у меня он повис около 5-10 раз. А при том что в Chrome это сопровождается просто выбрасыванием дохлого смайла, то это вообще пустяк.
                                                            Ах, да. Его падучесть тоже сильно действует на нервы.
                                                            Единственное уважительное оправдание отсутствию flash — бюджетные телефон пятилетней давности
                                                            Я даже не знаю, каким нужно быть извращенцем, чтобы юзать что-то флешевое даже на топовом мобильном устройстве, ибо флеш на мобильниках — самое жалкое зрелище, которое я когда-либо видел.
                                                            Либо человек просто не в состоянии установить его, но на хабре таких нет. Остальное можно отнести к запущенному ФГМ.
                                                            Я не говорю, что без флеша нельзя жить. Очень часто он нужен, так как его упорно продолжают использовать. Я не могу жить без флешлока, без него браузер начинает пожирать всё процессорное время. Я не хочу покупать новое железо, ставить ОС, которую я не переношу ради какого-то пропиетарного поделия Adobe.
                                            0
                                            В Opera 12 не появляется даже надписи «Перетащи-ка сюда», к сожалению.
                                              0
                                              Да, как выяснилось, мой скрипт по многим причинам не работает в других браузерах.
                                              0
                                              мне бы был более интерес скрипт, который сам находит картинки в тексте(в исходнике топика), заливает их на habrastorage, и заменяет ссылки.
                                                +1
                                                Было бы неплохо, если сам habrastorage переделали-таки с дурацкого флеша на html5!
                                                А то прямо каменный век какой-то…
                                                  –1
                                                  Все правильно. Но от флеша должны отказываться сайтостроители, а не пользователи. А пользователю нужно ждать и «терпеть» плохой флеш пока он окончательно не вымрет или обрекать себя на ограниченный функционал. Но это скорее относится к сообщениям выше.
                                                    +1
                                                    Если все пользователи отказались бы от флеша, сайтостроителям волей-неволей пришлось бы использовать нормальные технологии, а не эту дрянь! Или сидели бы без посетителей…
                                                  +2
                                                  Почему до сих пор это не внедрили на хабр?

                                                  Only users with full accounts can post comments. Log in, please.