Ответы пользователя по тегу HTML
  • Как выполнить код в букмарклете javascript и не перезаписать содержимое страницы?

    riky
    @riky
    Laravel
    часто использую букмарклеты, удобная и простая штука, можно удобно размещать в закладках, и накидать за 5 минут если чтото надо.
    я делаю так:
    javascript:(function (){ /* CODE */ })()

    это мой старый букмарклет который показывает "скрытые" звездочками пароли. очень удобно когда пароль сохранен а ты его не помнишь, чтобы передать куда-то и тд.

    javascript:(function (){
       var $inputs=document.getElementsByTagName('input'), 
          iMax=$inputs.length; 
          for(var i=iMax;i--;) if($inputs[i].type=='password') $inputs[i].type='text';
    })()


    или такой - показать используемую сайтом версию jquery
    javascript:(function(){if (window.jQuery){ alert(jQuery.fn.jquery);} else {alert('no jquery');} })();


    или генератор рандомных паролей
    javascript:(function (){var s=("ABCDEFGHKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz123456789").split("");var cnt=s.length;var codeLen=10; var pass=""; for(var i=0;i<codeLen;i++){pass+=s[Math.floor(Math.random()*cnt)];}prompt("new random password (A-Z a-z 0-9)", pass); })()
    Ответ написан
    Комментировать
  • Оптимизация адаптивных картинок под Google PageSpeed?

    riky
    @riky
    Laravel
    если хотите оптимизировать и размер и запросы, то надо понимать какие размеры используются юзерами часто.

    если они почти всегда не только пролистывают все средние картинки но еще и почти всегда на весь экран разворачивают все, то понятно вариант 2.
    но что-то мне подсказывает что все картинки пролистает дай бог если половина юзеров, а на весь экран так развернут не более 1-5% картинок. тогда очевидно 1.

    скорее всего юзеры будут часто пролистывать средний размер (почти все картинки и почти все юзеры) и редко открывать на весь экран. то оптимальнее взять средний размер и их же использовать для маленьких. а на самые большие - отдельно.
    но лучше всего следить статистику именно за вашими юзерами. может юзерам на картинках важны мелкие детали и будут всегда разворачивать на полную.

    для п1 есть img srcset
    Ответ написан
    Комментировать
  • Проблема с несколькими модальными окнами, тех кто сталкиался скажите в чем подвох?

    riky
    @riky
    Laravel
    бутстрап не поддерживает из коробки несколько одновременно открытых модальных окон.

    погуглите какие костыли надо вставить чтобы заработало.

    хотя я бы на вашем месте подумал как обоитись без второго модала.
    Ответ написан
    Комментировать
  • Canvas или svg?

    riky
    @riky
    Laravel
    fabrikjs
    canvas, перетаскивания мышью из коробки, группировки.
    Ответ написан
    2 комментария
  • Как понять свой уровень знания какой либо технологии, и надо ли знать ее на 100%?

    riky
    @riky
    Laravel
    заучивать не нужно, ты же не в школе к экзаменам готовишься.
    тут дело точно не в памяти, а в то чтобы в целом понимать суть технологии и знать как ее применить.

    также очень рекомендую составлять шпаргалки, я часто изучаю много нового, и всегда выписываю самые важные кусочки кода в общий файл. это очень круто потом пригождается. при этом я не забиваю и не перенапрягаю голову.

    поэтому стремись не к тому чтобы запомнить все html теги, все css свойства, а к тому чтобы знать что для решения той или иной задачи есть какой то тег/свойство, и уметь его быстро найти, вот для этого шпаргалка и нужна. можно даже их распечатывать, если тебе так удобно, но в электронном виде удобно делать поиск.
    Ответ написан
    Комментировать
  • Чем плохи классы в хтмл (col-md-2 col-md-offset-4юююи так далее) и как исправить?

    riky
    @riky
    Laravel
    плохо тем что дизайн хардкодится в хтмл. представим что у вас сайтик на неск десятков страничек. и вдруг меняется дизайн, например сайдбра был 4 колонки стал 3.
    если бы у вас там был был класс "sidebar" то вы бы просто поменяли в css его ширину в разных разрешениях. а когда у вас col-md-4 то вам нужно перелопатить вручную все шаблоны...

    ps я и сам его использую, но у меня все это в шаблонизаторах, поэтому дублирования кода нет, и все меняется в одном месте. но не везде это так.

    раньше был zencss сайт, где одна разметка и сотни вариантов дизайна. вот к такому следует стремится. хтмл - только контент, а css - дизайн
    Ответ написан
  • Как автоматизировать обход сайта с HTML5 canvas?

    riky
    @riky
    Laravel
    делал такое именно поиском картинки в картинке. вполне спортивно, машинное зрение и распознавание образов тут не надо. удобно что не нужно изучать внутреннюю работу игры и не зависишь от изменений кода/новых версий. также удобно для игр с закрытым кодом (flash).

    но если хочешь сделать именно на уровне бизнес логики - то выбор небольшой:
    проще: подсмотреть какие запросы уходят на сервер и написать скрипт отправляющий такие же, из минусов - визуально на экране не увидишь изменений, до перезагрузки, хотя браузер по сути тут не обязателен вообще.

    чуть сложнее но круче: извлечь js код и посмотреть внутренне апи (сложность в том что код скорее всего минимифицирован и возможно обфусцирован, тогда без названия переменных может быть сложнее). после разбора кода его можно поменять (дописать свою бизнес логику) и подменить в браузере, можно добавить новые кнопки и функции в интерфейс.

    сам не пробовал, но что-то слышал про toolXYZ

    использую все способы в зависимости от задачи.
    Ответ написан
    Комментировать
  • Как указывать почту на сайте, чтобы на нее не сыпался спам?

    riky
    @riky
    Laravel
    забыли уже как наши деды делали?
    <script>document.write('abc' + '@' + 'gm' + 'ail.com');</script>
    Ответ написан
    9 комментариев
  • Какие есть способы предотвращения воровства файлов?

    riky
    @riky
    Laravel
    предлагаю просто в js делать закладки. например проверка текущего домена, если не равен вашему тестовому - редиректить на ваш домен с предупреждением типа работа не была оплачена.
    только естественно нужно усложнить и запутать
    - во первых - название домена не должно легко находится (можно например использовать хэш функции, типа md5, наличие кода которой также усложнит разбор кода)
    - во вторых хотя бы js обфусцировать, лучше всего придумать свою функцию обфускации, которая берет весь код скрипта и как то его преобразует, либо хотя бы частично.
    - желательно чтобы редирект был не слишком явный, например наступает только в 1% запусков и срабатывает только через 2 минуты. это также усложнит поиск дебаггером, + клиент может стырить код (или заказать кому то копирование) - и он покажется ему рабочим, кинет вас, а потом поймет что зря это сделал. но даже срабатывая 1% раз, эта защита испортит ему репутацию.

    также можно делать еще более хитрое, например не редирект, а отключение сабмита формы подписки, в некоторых случаях, также спустя какое то время и не всегда. (хотя это дебагером проще выловить, лучше по таймауту чтото делать)

    конечно это не 100% защита, кому надо утащят конечно, но тут как и в десктопных программах - взломают все. защита - лишь усложнение этого взлома. например малопопулярную программу ломать меньше смысла потому что дороже выйдет.

    100% защита это также как и в десктоп программах - только если часть алгоритма будет выполняться на вашем сервере (облачная обработка/сервисы). но это для вас наверное не очень актуально.

    еще один неплохой вариант - сделать приложение на любом десктопном языке программирования типа мини веббраузер. то есть все приложение это просто WebView во весь экран. и клиенту вы передаете один ехе файл который он должен запустить и увидеть сайт. скопировать будет очень сложно, если хорошо упаковать, сам клиент этого сделать не сможет скорее всгео, заказать взлом выйдет наверное не дешевле чем ваша работа. из минусов не очень удобно, для обоих, и клиент не сможет проверить качество кода и работу в реальных браузерах. PS: ищите компоненты WebView на базе хромиума, чаще всего стандартные компоненты основаны на IE да еще старых версий. также можно попробовать использовать для этих же целей понятные для фронтендеров срежы типа NWJS или electron - все программирование на JS и построены на базе хромиума, но в них сложнее обеспечить защиту кода, хотя тоже в какой то степени можно.

    поэтому в ваших силах только усложнить попытку воровства, при котором взлом становится дороже чем разработка и это реально. полностью готовых решений наверное найти будет сложно, да и если есть защита для нее обычно уже есть программа для обхода. но можно сделать и своими силами, придется заморочится, но как минимум это интересно.
    Ответ написан
    Комментировать
  • Адаптивная галерея на сайт из альбома ВК?

    riky
    @riky
    Laravel
    используйте просто любой js плагин, например masonry
    Ответ написан
  • Почему как ресайзишь браузер все картинки встают на место?

    riky
    @riky
    Laravel
    непонятно откуда у вас берется занчение itemWidth
    возможно берется ширина какой то картинки и на тот момент картинка еще не загрузилась поэтому itemWidth не то что хотелось бы.
    рекомендую в resize вывести в консоль ее значение.
    при setInterval думаю будет заметно как значение было 0 неск раз, а потом станет нормальным
    Ответ написан
    Комментировать
  • Как wordpress сайт перевести в статические страницы?

    riky
    @riky
    Laravel
    также можно скачать весь сайт через wget

    например
    wget -r -l 0 -k http://example.org/
    Ответ написан
    Комментировать
  • Как сделать текст-ссылку со стилизованным подчеркиванием?

    riky
    @riky
    Laravel
    такое делается нижней границей
    border-bottom
    у нее можно и цвет и толщину и эффекты задать. в отличие от text-decoration: underline
    Ответ написан
    Комментировать
  • Есть ли такая технология - получить из PSD автоматом нарезанный и сверстанный сайт?

    riky
    @riky
    Laravel
    тойота тоже на конвеере штампуется (и еще 99% современных авто), но конвеерный продукт вполне едет.

    в вебе все тоже к этому идет. правда пока через конструкторы.

    естественно конвеер предполгает минимум кастомизации, включают все максимально универсальное и востребованные. но со временем готовых функций все больше.

    уже сейчас многие выбирают конструкторы, потому что это быстрее, дешевле, и порой даже качественней чем если ктото "наверстает"

    естественно профессия версальщик никуда не исчезнет полностью, конечно всегда будут вещи которые конструкторы не делают.

    low-end верстка со временем умрет. для мелких заказчиков удобнее конструкторы и готовые ПРО темы.
    hi-end естественно останется и станет еще сложнее.

    конкретно по psd.
    вряд ли развитие пойдет в сторону psd. скорее будут специфические конструкторы.
    Ответ написан
  • Как ускорить адаптацию сайта?

    riky
    @riky
    Laravel
    Бутстрап тоже можно скомпилить на 24 колонки
    Ответ написан
    Комментировать
  • Как перенести форматирование текста .doc в HTML?

    riky
    @riky
    Laravel
    вставьте в ckeditor или mce и возьмите готовый код. в обоих есть функция вставить из ворд
    Ответ написан
    Комментировать
  • А вы сохраняете себе кусочки кода для повторного использования?

    riky
    @riky
    Laravel
    Раньше вел отдельные txt документы со сниппетами по каждой используемой технологии. Довольно удобно и быстро можно поднять любую инфу поиском по тексту (хотя доки получаются на тысячи строк).

    В голове все равно все не удержать, а каждый раз гуглить то что когда то уже видел не айс. Поэтому если встречаю чтото интересное или изучаю что-то то добавляю снипеты в блокнотик.

    Сейчас сделал для себя сервис древовидное хранение заметок, по принципу все в одном доке, тестирую насколько получится удобно.
    Ответ написан
    2 комментария
  • Можно ли поставить ограничение на количество отправленных заявок из формы обратной связи?

    riky
    @riky
    Laravel
    сохраняйте в базу или тупо в файл количество записавшихся, если превышает - не выводить форму.

    если на файлах то коды примерно такие:
    записать заявку:
    $file = 'count.txt';
    file_put_contents($file, (int)file_get_contents($file) + 1);


    проверить
    if ((int)file_get_contents($file) < 30):
       // вывод формы
    endif


    чтобы работал лимит по дням - самое простое 1 файл на один день, достаточно заменить
    $file = 'count.txt';
    на
    $file = 'count-' . date('Y-m-d') . '.txt';
    остальное так же.

    также конечно можно и базу использовать аналогично.
    Ответ написан
    Комментировать
  • Можно ли сделать такой DOM элемент, чтобы все клики проходили сквозь него?

    riky
    @riky
    Laravel
    непонятна причина зачем, а так наверное правильнее как вы и сказали

    $(document).click(function(e){
      // e.target - по какому элементу кликнули
    });


    непонятно почему это не подходит для вас?

    кстати если сделать так
    $(document).on('click', '.myClass', function(e){
      // ...
    });
    $(document).on('click', '.myOtherClass', function(e){
      // ...
    });


    то jquery поставит один клик обработчик на document а уже внутри будет проверять кликнули по myClass или myOtherClass и вызовет одну(а может и не одну) из ваших функций.
    Ответ написан
    Комментировать