Web МастерскаяБлог
Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.
jQuery: Как проверить блок на пустоту
Появилась необходимость проверить блок на пустоту, то есть есть ли в нём какие либо теги или нет. Ниже, как это можно сделать.
Допустим есть у нас такой блок (Без тегов внутри него):
Его та нам и надо проверить. Для этого используем следующее условие:
ID или другой атрибут блока (
Допустим есть у нас такой блок (Без тегов внутри него):
<div id="blockID"></div>Его та нам и надо проверить. Для этого используем следующее условие:
if ($('#blockID').html().trim() == '') {
// Блок пустой | Действие при пустом блоке
}ID или другой атрибут блока (
blockID) пишите свой....- Жалоба
jQuery: проверка наличие элемента в массиве
Для проверки элемента в массиве в библиотеку jQuery добавлена функция
Вместо:
jQuery.inArray():
if (jQuery.inArray('js', ['js', 'jQuery']) > -1) {
// Элемент существует в массиве
};Вместо:
jQuery.inArray можно писать: $.inArray....Как посчитать количество элементов на чистом CSS
Допустим у нас есть блок с ID
Добавим блок, для вывода количества элементов:
Затем считаем на чистом CSS:
CSS посчитает элементов в блоке и выведет результат в блок
block, в котором находятся элементы (<span> или другие), и нам надо посчитать их на чистом CSS:
<div id="block">
<span></span>
<span></span>
<span></span>
</div>Добавим блок, для вывода количества элементов:
<div id="sum"></div>Затем считаем на чистом CSS:
#block {
counter-reset: block;
}
#block > span {
counter-increment: block;
}
#sum:before {
content: counter(block);
}CSS посчитает элементов в блоке и выведет результат в блок
<div id="sum"></div>....Nginx: Удаление параметров в URL
Где есть пагинация (1, 2, 3, и так далее), например, тема форума, первая страница может открываться по трем адресам:
Параметр
Имея возможность редактировать конфигурацию Nginx, я решил переписать удаление параметров в Nginx. Важно было, чтобы параметр бул удален только при значении
...
- site/forum/thread/xxx/
- site/forum/thread/xxx/page_0/
- site/forum/thread/xxx/page_1/
Параметр
page_X нужен начиная со второй страницы, но ни как не первой. На то, что одна страница открывается по нескольким адресам, могут ругаться поисковые системы. Я избавился от ненужного параметра для первых страниц, где есть пагинация, на PHP:
// Удаление "page_0" | "page_1" из URL
if (preg_match('/page_(0|1)?\//i', $url) && stristr($url, 'admincp/') === false)
{
$url = preg_replace('/page_(0|1)?\//', '', $url);
} // End: Удаление "page_0" | "page_1" из URLИмея возможность редактировать конфигурацию Nginx, я решил переписать удаление параметров в Nginx. Важно было, чтобы параметр бул удален только при значении
0 и 1, значения 10, 11, 12 и так далее, оставались. Сделал в server:
# Удаление "page_0" | "page_1" из URL
location ~* ^(.*)/page_(0|1)/$Nginx: Добавление слеша в конце URL, если его там нет
Ранее страницы моего сайта открывались, как с слэшем в конце URL, так и без него. Чтобы не допустить дублей страниц, я решил, что мой сайт будет работать только с слэшем в конце URL. Проверку слэша и его добавления делал на PHP:
Слэш добавляется ко всем URL, кроме тех, что имеют на конце:
Всё работает отлично, но грешно делать это на PHP, если есть Nginx... Поискав в интернете решение моей задачи, нашёл такую строку кода:
Данный код добавляет слэш в конец всем URL, кроме тех, где есть точка (
Вставил строку в
...
// Добавление слеша в конце URL, если его там нет
if (substr($url, -1) != '/')
{
if (!preg_match('/(.*)\.(jpg|jpeg|gif|png|js|css|ico)/i', $url))
{
$url = $url . '/';
}
} // End: Добавление слеша в конце URL, если его там нетСлэш добавляется ко всем URL, кроме тех, что имеют на конце:
jpg|jpeg|gif|png|js|css|ico.Всё работает отлично, но грешно делать это на PHP, если есть Nginx... Поискав в интернете решение моей задачи, нашёл такую строку кода:
rewrite ^([^.\?]*[^/])$ $1/ permanent;Данный код добавляет слэш в конец всем URL, кроме тех, где есть точка (
.) или параметры (id=1). А значит картинки, к которым будут обращаться на прямую, остаются без слэша.Вставил строку в
location:
location / {
rewrite
Категории
- Apache 6
- CMS 3
- CSS 25
- FTP 1
- HTML 16
- JavaScript 46
- Nginx 15
- PHP 52
- phpMyAdmin 2
- SEO 7
- SQL 17
- SVG 10
- URL 1
- XML 3
- Безопасность 8
- Библиотека JS 18
- Графика 1
- Инструкция 1
- Кодировка 2
- Контент 11
- Мнение 4
- Монетизация сайта 1
- Настройка 3
- Ошибка 13
- Поисковая система 2
- Продвижение сайта 5
- Производительность 3
- Прочее 1
- Софт 1
- Старт 1
- Сценарий 1
- Функция 1
- Хостинг | Сервер 2
Реклама












