Ответы пользователя по тегу Веб-разработка
  • Как лучше выводить список на страницу?

    @sundrey Автор вопроса
    Самым быстрым способом отображения и сортировки списков, если все элементы уже загружены в DOM, оказался table.

    Дольше всех обрабатывался такой формат
    <ul><li><span></span><span></span></li><ul>
    Средним по скорости оказался
    <div><span></span><span></span></div>
    И самым быстрым
    <table><tr><td></td><td></td></tr></table>

    Эти результаты при 2000+ строк и 7 (span или td) в каждой. На меньшем количестве DIV и table почти не отличаются на скорости.

    Если же, одновременное отображение всего списка не критично, то https://www.datatables.net/ вполне подходит.
    Он держит всю таблицу в памяти, не выводя в DOM и формирует его только после запроса.
    Инструмент очень полезный, и скорее всего буду переходить на него.
    Ответ написан
    Комментировать
  • Почему не JavaScript не воспроизводит audio?

    @sundrey Автор вопроса
    Проблему решил следующим путем. В Google Chrome на андройде, для того, чтобы выполнять .play() для аудиозаписи, необходимо хоть раз нажать на эту кнопку.
    Обмануть его можно следующим образом:
    В одну из кнопок, которую обязательно нажмет пользователь, добавляется onclick(document.getElementById('button_play').click())
    И после этого, если программно вызывать document.getElementById('button_play').click() - скрипт будет работать
    Так как у меня все работает через ajax, то такой вариант подходит, а у кого страницы перезагружаются, придется придумывать другой велосипед...

    В общем, на каждую кнопку повесил onclick выполняющий следующий код
    function ActivePlayButton(){
    	document.getElementById('player').volume=0;
    	document.getElementById('pre_player').volume=0;
    	endPlay_button = document.getElementById('button_play');
    	endPlay_button.click();
    	prePlay_button = document.getElementById('button_pre_play');
    	prePlay_button.click();
    };

    Так как у меня 2 разных звука, нужно было проводить операции для двух кнопок.
    А при вызове функции с воспроизведением, задается параметр volume = 1
    Ответ написан
    Комментировать