Как заблокировать IP адрес пользователя в .htaccess

Сразу к делу! Допустим, нам необходимо заблокировать вот такой IP: xx.xx.xx.xxx, конечно, вместо иксов должны быть цифры, но в качестве пример, пойдет. Делаем так:
#User IP Banning
<Limit GET POST>
Order allow,deny
Deny from xx.xx.xx.xxx
Allow from All
</Limit>

Пример приведен с одним IP, чтобы заблокировать IP больше, просто, после строки:
Deny from xx.xx.xx.xxx

Добавляем Deny from тут IP и так каждый IP с новой строки:
#User IP Banning
<Limit GET POST>
Order allow,deny
Deny from xx.xx.xx.xxx
Deny from xx.xx.xx.xxx
Deny from xx.xx.xx.xxx
Deny from xx.xx.xx.xxx
Deny from xx.xx.xx.xxx
Allow from All
</Limit>

Если есть необходимость заблокировать все IP адреса, которые начинаются одинаково, например:
38.99.82.191
38.99.82.192
38.99.82.193

То тут необязательно писать каждый IP отдельно, достаточно написать так:

И все IP, что начинаются на 38.99.82. будут заблокированы. Обратите внимание на точку в конце, если точку убрать,...

Как проверить событие: "window.onload"

Для проверки события: window.onload можно использовать: document.readyState:
if (document.readyState == 'complete') {
	// Код JS
};
...

Как изменить ключ для объектов массива в JavaScript

Допустим, у нас есть неправильный массив (Неправильный потому что овощи перечислены, как фрукты):
var fruits = [
	{fruit: 'potato'},
	{fruit: 'carrot'},
	{fruit: 'onion'}
];

Из этого массива необходимо сделать так (Назвать вещи своими именами):
var vegetables = [
	{vegetable: 'potato'},
	{vegetable: 'carrot'},
	{vegetable: 'onion'}
];

Чтобы поправить наши данные, нам поможет метод map, чьё предназначение: создать новый массив с результатом вызова указанной функции для всех элементов массива. Делаем так:
var vegetables = fruits.map(data => ({vegetable: data.fruit}));

И теперь у нас массив, который и хотели получить....

Как соединить два массива в один в JavaScript

Для соединения двух массивов будем использовать метод concat(), чьё предназначение: Вернуть новый массив, состоящий из массива, котором он был вызван, соединённого с другими массивом.

Допустим у нас есть два массива:
const first  = [1, 2, 3];
const second = [4, 5, 6];

Делаем так:
const common = first.concat(second);

Теперь common содержит в себе массив, состоящий из двух массивов:
[1, 2, 3, 4, 5, 6]
...

Cannot read properties of undefined (reading 'querySelector')

Ошибка: Cannot read properties of undefined (reading 'querySelector') говорит о том, что метод: querySelector пытается обратиться к элементу, которого не существует.

Возможные решения:
  • Убедитесь, что элемент, к которому обращаетсь, существует, на самом деле.
  • Расположите JavaScript в нижнюю часть Вашего документа.
...