ФорумПрограммированиеJavaScript → Индикация загрузки изображения с CAPTCHA-кодом (на примере KCAPTCHA)

Индикация загрузки изображения с CAPTCHA-кодом (на примере KCAPTCHA)

  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 17:28, спустя 3 минуты 51 секунду

    нет ему не нужен аджакс
    нужен прелоад картинки



    <div id="kcaptcha"/>




    function reload(){
    var random = Math.random(),
    img = new Image();
    div = document.getElementById('kcaptcha');
    img.src = "/forpyhaforum/kcaptcha/index.php?"+random
    div.removeChild(div.firstChild);
    div.appendChild(img);
    }


    тем же способом можно подгружать промежуточную катринку между каптчами

    или можно использовать атрибут lowurl или lowsrc я точно не помню как


  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 16:07, спустя 22 часа 39 минут 28 секунд

    adw0rd, спасибо за отзывчивость :)

    я думаю, что логика работы такова:

    0. на странице есть блок с "аякс-лоадер.gif", в стилях display:none
    1. кликаем на "обновить капчу": картинк с капчей получает display:none, на её месте появляется "аякс-лоадер.gif"
    2. далее, JS ждёт пока новая картинка получит статус "загружено"
    3. далее "аякс-лоадер.gif" получает display:none, а новая картинка с кодом display:block
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 16:11, спустя 3 минуты 33 секунды

    Makc, пробуй результат мавра )
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 16:25, спустя 14 минут

    http://metalrus.ru/forpyhaforum/
    версия с JS от Мавра
    Спустя 50 сек.
    кстати, вообще непонятно что должен делать Мавровский скрипт..
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 16:27, спустя 2 минуты 11 секунд

    на жукери у меня вот такая штука была, правда я был молод и говнокодил :)

    captcha_loading = images_root+"/images/loading.gif";
    Captcha = function(elem)
    {
    elem = $(elem);
    elem.click(function () {
    captchaid = $(this).attr("captcha");
    cimage = $("img#"+captchaid);

    cimage.hide();
    if(!$("img#loader-"+captchaid).length)
    {
    cimage.after("<img src=\""+captcha_loading+"\" id=\"loader-"+captchaid+"\" />");
    }
    loader = $("img#loader-"+captchaid);
    loader.show();

    cimage.get(0).src = "captcha?" + Math.random();
    cimage.load(function () {
    captchaid = $(this).attr("id");
    $("img#loader-"+captchaid).hide();
    $(this).show();
    });
    $(this).blur();
    return false;
    });
    }

    $(document).ready(function() {
    $("a[rel=\"captcha\"]").each(function () {new Captcha(this);});
    });
    Спустя 43 сек.
    обрабатывает просто <a rel="captcha"></a>
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 17:24, спустя 56 минут 57 секунд

    http://metalrus.ru/forpyhaforum/
    версия с JS от Мавра


    капец пока печатал забыл шифт нажать. пробуй еще раз
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz 2 сентября 2009 г. 17:31, спустя 7 минут 12 секунд


    http://metalrus.ru/forpyhaforum/
    версия с JS от Мавра


    капец пока печатал забыл шифт нажать. пробуй еще раз



    div.removeFirstСhild
    Строка: 14

  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 17:38, спустя 7 минут 13 секунд

    и опять смотрим сюда: http://metalrus.ru/forpyhaforum/
    Спустя 52 сек.
    параллельно вопрос: почему строка
    img.src = "/forpyhaforum/kcaptcha/index.php?"+random

    без ; в конце? умышленно?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 17:39, спустя 46 секунд


    и опять смотрим сюда: http://metalrus.ru/forpyhaforum/
    Спустя 52 сек.
    параллельно вопрос: почему строка
    img.src = "/forpyhaforum/kcaptcha/index.php?"+random

    без ; в конце? умышленно?
    злоумышленно
    в JS не обязательно ставить ; в конце
    все умрут, а я изумруд
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 17:49, спустя 10 минут 15 секунд



    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    <title>test</title>
    </head>

    <script type="text/javascript">
    var div, wait;
    onload = function() {
    div = document.getElementById('kcaptcha'),
    wait = new Image();
    wait.src = "http://94.31.169.103/InnerProjects/BasePortal/trunk/images/loading.gif";
    reload();
    }

    function reload(){
    var random = Math.random(),
    img = new Image();
    replace(wait);
    img.src = "http://www.metalrus.ru/forpyhaforum/kcaptcha/index.php?"+random
    img.onload = function(){
    replace(this);
    }
    }

    function replace(img){
    while(div.firstChild)
    div.removeChild(div.firstChild);
    div.appendChild(img);
    }

    </script>

    <body>

    <div id="kcaptcha"></div>


    Если код нечитаем,<br />
    <a href="javascript:void(0);" onclick="reload();">получите другой</a>


    </body>
    </html>
    Спустя 22 сек.
    заебали
  • Makc

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 2 сентября 2009 г. 17:56, спустя 6 минут 46 секунд

    CTAPbIu_MABP, снимаю шляпу и ставлю пиво. Всё просто и логично. Спасибо огромное!
    Спустя 27 сек.

    в JS не обязательно ставить ; в конце

    пойду почитаю книжки…
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 19:38, спустя 1 час 41 минуту 48 секунд




    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    <title>test</title>
    </head>

    <script type="text/javascript">
    var div, wait;
    onload = function() {
    div = document.getElementById('kcaptcha'),
    wait = new Image();
    wait.src = "http://94.31.169.103/InnerProjects/BasePortal/trunk/images/loading.gif";
    reload();
    }

    function reload(){
    var random = Math.random(),
    img = new Image();
    replace(wait);
    img.src = "http://www.metalrus.ru/forpyhaforum/kcaptcha/index.php?"+random
    img.onload = function(){
    replace(this);
    }
    }

    function replace(img){
    while(div.firstChild)
    div.removeChild(div.firstChild);
    div.appendChild(img);
    }

    </script>

    <body>

    <div id="kcaptcha"></div>


    Если код нечитаем,

    <a href="javascript:void(0);" onclick="reload();">получите другой</a>


    </body>
    </html>
    Спустя 22 сек.
    заебали
    бейби, ты как всегда самая лучшая)))
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 2 сентября 2009 г. 21:53, спустя 2 часа 14 минут 50 секунд

    бейби, ты как всегда самая лучшая)))

    ато
  • Mr.Pihto

    Сообщения: 1386 Репутация: N Группа: Адекваты

    Spritz 3 сентября 2009 г. 13:04, спустя 15 часов 11 минут 20 секунд

    ого. нынче за регу плюсуют.. де мой +? :)
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 3 сентября 2009 г. 13:52, спустя 48 минут 9 секунд

    Mr.Pihto, это элитные плюсы… для старинных друзей

Пожалуйста, авторизуйтесь, чтобы написать комментарий!