Страница 1 из 1

Блокировать линки пока страница грузится.

Добавлено: 02 июл 2014, 11:53
Groundhog
Как половчее блокировать линки на веб-странице пока вся страница не загрузится.
Мож в ХТМЛ5 что есть? Яваскрипт - че так и итеририваться отключая каждый линк
или какой более ловкий приемчик кто использует?
Клиенты нетерпеливые попадаются щелкают шаловливыми ручками по линкам.
А наша маша пока не ответит браузеру раком стоит и дохнет ежели запрос приходит
до ее ответа на предыдущий.

Re: Блокировать линки пока страница грузится.

Добавлено: 03 июл 2014, 07:10
tasko
Groundhog писал(а):Как половчее блокировать линки на веб-странице пока вся страница не загрузится.
Мож в ХТМЛ5 что есть? Яваскрипт - че так и итеририваться отключая каждый линк
или какой более ловкий приемчик кто использует?
Клиенты нетерпеливые попадаются щелкают шаловливыми ручками по линкам.
А наша маша пока не ответит браузеру раком стоит и дохнет ежели запрос приходит
до ее ответа на предыдущий.
Много разных решений можно использовать.
Проще всего с jQuery, скажем, выставить по умолчанию style='display:none', а затем в document.ready() все их показать.
При правильно указанном селекторе никаких итераций не надо, jQuery все сделает за раз.
Что-то типа
http://stackoverflow.com/questions/4929 ... ge-loading
http://stackoverflow.com/questions/4266 ... -page-load

Самое красивое решение, наверное, вообше показывать картинку пока странница не загрузится полностью. Либо закрывать странницу полупрозрачным леером.
http://css-tricks.com/snippets/jquery/d ... ly-loaded/

Re: Блокировать линки пока страница грузится.

Добавлено: 03 июл 2014, 11:59
Gadi
Мы обычно не используем href в html: по готовности страницы все events (включая click) связываются в отдельной binding functions.
например с Ajax

Код: Выделить всё

$(document).ready(function () {
    bindControls();
    populateControls();
});

var bindControls = function () {
    $('#myLink).on ('click', myLinkClick);
};

var myLinkClick= function () {
    $.ajax({
        type: 'POST',
        url: 'myHandler.ashx' 
        data: {},
        success: function (data) {
            ...
        },
        async: false
    });

};

Re: Блокировать линки пока страница грузится.

Добавлено: 04 июл 2014, 19:34
Groundhog
Спасибо за советы господа.
Наверное остановлюсь на простейшем CSS (display: none) ==> (display: block)
Подождут клиенты перед пустым экраном пока страница
не загрузится не сдохнут. Внешние скрипучие жабы и здоровучки не пролезут - нету интернета а максимальный размер страницы ~ 20 Кбайт. Нетути у мене места для всяких наворотов. И так приходится фавикон в страницу запихивать. И то некоторые браузерй безобразно себя ведут типа не дождавшись загрузки страницы отдельный запрос на фавикон швыряют не обработав содержумое страницы и не увидив что фавикон в страницу встроен, за некоторое одному аллаху известное время (хромы, опера и тд с той-же библиотекой).

Re: Блокировать линки пока страница грузится.

Добавлено: 14 июл 2014, 09:45
K.B.
Groundhog писал(а):А наша маша пока не ответит браузеру раком стоит и дохнет ежели запрос приходит
А как зовут машу :?:

Re: Блокировать линки пока страница грузится.

Добавлено: 15 июл 2014, 08:33
Groundhog
Маша = АТ91SAM7X256 (64K RAM, 256 FLASH ) + WiFi RedPine модуль.
Предлагал выкинуть нахер это дерьмо и спроектировать все заново на Raspberry PI.
Дешевле и в 10 раз быстрее. Говорил владельцу/СЕО сделаю за 4 месяца все.
СЕО пугливый в софте не рубит вообще - "я ненавижу софт" его мотто.
Гл. инженегр воспротивился - сильно намекнул что нехера обьем работы
уменьшать ибо ...
Прошло 1.5 года маша как хромая утка - то не делай это не смей а то зависну.
Модуль правда я сам выбрал доверившись ихним победным реляциям ( врали су-и).

Re: Блокировать линки пока страница грузится.

Добавлено: 15 июл 2014, 09:04
K.B.
Groundhog писал(а):64K RAM
это точно не опечатка/шутка? :s3:

Re: Блокировать линки пока страница грузится.

Добавлено: 15 июл 2014, 10:13
Groundhog
64К байт - это все RAM что на нашем приборе - анализатор качества воздуха внутри помещений.
Мобильный, до 12 детекторов всякого рода газов, логгинг, WiFi, USB , пользователь может общаться с прибором только через WiFi, USB (кнопочки или иной ввод отсутствует). Так что приходится как в анекдоте "а в какой же еще позе можно в Запорожце?"