Метка: javascript

  • Javascript. Как узнать язык браузера?

    Язык браузера будет полезен при попытке вывода сообщения, понятного пользователю до выбора языка или любой другой смежной попытке. Так или иначе — узнать язык браузера на javascript — достаточно вероятная задача. Решается эта задача очень просто: var language = window.navigator ? (window.navigator.language || window.navigator.systemLanguage || window.navigator.userLanguage) : «ru»; language = language.substr(0, 2).toLowerCase();

  • jQuery. Как сделать регистронезависимый поиск по содержимому?

    В базовом jQuery есть метод, который может фильтровать данные по их содержимому — я имею ввиду метод — или же фильтр — contains. Но в нем ест одна проблема, которая делает его использование неполноценным и даже не нужным. Он регистрозависимый — т.е. строка «Privet» не равна строке «privet». Для страниц, которые предоставляют подобную фильтрацию простым…

  • jQuery. Как преобразовать текст в html-разметку?

    Иногда html-разметка передается простым сплошным текстом, при этом также часта задача по изменению структуры этой разметки. В таком случае следует преобразовать текст в DOM-разметку. На самом деле эта задача решается невероятно просто. Для этого есть функция parseHTML. var str = «hello, my name is jQuery.» ; html = $.parseHTML( str ) ; html.find(‘b’).remove(); alert( html.text()…

  • jQuery. Как обернуть каждые N блоков?

    Столкнулся с задачей, когда нужно обернуть каждые 2-3-4 блока, в зависимости от размера экрана общим враппером, чтобы выровнять высоту каждой строки. В этой статье речь пойдет именно о том, как обернуть каждые N блоков враппером. Ниже пример: … … … … … … … … … … Здесь мы создаем контекст с элементом, внутри которого…

  • Html. Javascript. Как асинхронно подключить скрипты?

    Подключение внешних скриптов на сайте — всегда узкое место. Это связано с тем, что страница отображается по мере загрузки скриптов. Это очень плохо при загрузке удаленных скриптов, при /загрузке тяжеловесных скриптов и т.д. Частично помогает известный метод переноса скриптов в конец страницы — но это также не 100% выход. Т.к. скрипты все равно будут подгружаться…

  • OpenLayers 2. Начало работы.

    Приведу простой алгоритм действий по созданию страницы с картой и выеденным на нее базовым WMS-слоем, основываясь на библиотеке OpenLayers 2. Итак, по пунктам. 1. Создаем html-разметку: OpenLayers Example 2. Создаем объект map. var map = new OpenLayers.Map(‘map’); 3. Создаем WMS-слой. var wms = new OpenLayers.Layer.WMS( «OpenLayers WMS», «http://vmap0.tiles.osgeo.org/wms/vmap0», {‘layers’:’basic’} ); map.addLayer(wms); 4 Объединяем все вместе.…

  • Javascript. jQuery. Как кастомизировать alert, confirm, prompt?

    Старые унилые окна alert, prompt, confirm давно отжили свое в плане их внешнего вида, но, при этом, не потеряв свою смысловую нагрузку. Сейчас расскажу о отличном плагине, с помощью которого можно вдохнуть новую bootstrap-based жизнь в эти компоненты. Итак, дело идет о плагине bootboxjs. На сайте есть прекрасно описаны примеры, поэтому не буду делать двойную…

  • Как выполнять php-код в js-файлах?

    Наткнулся на примитивный сниппет, который решает часую задачу. Да, это плохой выход — не тру и т.д. — но иногда гораздо проще сделать в js-файле, чем городить передачу параметров и т.д. Никого не призываю делать плохо — но даю почву для размышлений. Чтобы разрешить выполнение php-скриптов в js-файлах добавьте следующие строки в Ваш htaccess. AddType…

  • jQuery. Javascript. Как ограничить ввод в поле телефона

    При создании формы обратной связи или формы «Перезвоните мне» обязательно надо делать поле «Ваш телефон», которое, также обязательно, следует проверять и валидировать. Есть множество вариантов реализации — сложные — например, с применением регулярных выражений, или простые — с обычной фильтрацией символов. Так или иначе — я приведу вариант, который далек от идеала — да, в…

  • OpenLayers. Проблема с GoogleMaps в BaseLayers.

    Сегодня первая, за две недели и, все равно, короткая заметка о том, как побороть проблему с отображением GoogleMaps в качестве BaseLayers в OpenLayers 2.*. Проблема кроется в самой библиотеке и постоянных изменениях на стороне Google. В моем случае мне помогла замена основного скрипта библиотеки на вот этот: http://dev.openlayers.org/OpenLayers.js