Как сделать поиск времени и даты для юзер скрипта js
Как сделать поиск даты для юзер скрипта js для форума блек раши, чтоб писало дату. Пример:
Дата {{dates}}
И вместо {{dates}} пишет сегодняшнюю дату (25.07.24) помогите пж
Для того чтобы создать юзерскрипт на JavaScript, который вставляет текущую дату в определенное место на веб-странице, например, на форуме Black Russia, вы можете использовать следующий пример кода. Этот скрипт будет искать все элементы на странице, содержащие текст `{{dates}}`, и заменять его на текущую дату в формате `дд.мм.гггг`.
Вот пример юзерскрипта:
```javascript
// ==UserScript==
// @name Insert Current Date
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Replace {{dates}} with the current date
// @author Your Name
// @match :///
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Функция для форматирования текущей даты в формате дд.мм.гггг
function getCurrentDate() {
const date = new Date();
const day = String(date.getDate()).padStart(2, '0');
const month = String(date.getMonth() + 1).padStart(2, '0');
const year = date.getFullYear();
return `${day}.${month}.${year}`;
}
// Получение текущей даты
const currentDate = getCurrentDate();
// Поиск всех элементов, содержащих текст {{dates}}
const elements = document.querySelectorAll(':not(script):not(style)');
elements.forEach(element => {
if (element.innerHTML.includes('{{dates}}')) {
element.innerHTML = element.innerHTML.replace(/{{dates}}/g, currentDate);
}
});
})();
```
### Пояснение к коду:
1. Заголовок юзерскрипта:
- `@name`, `@namespace`, `@version`, `@description`, `@author`: метаданные скрипта.
- `@match`: указывает, на каких страницах будет работать скрипт. В данном случае, скрипт будет работать на всех страницах (`:///`).
- `@grant`: указывает, что скрипт не требует дополнительных разрешений.
2. Функция `getCurrentDate`:
- Создает объект `Date` и форматирует его в строку вида `дд.мм.гггг`.
3. Замена текста:
- Поиск всех элементов на странице, кроме `<script>` и `<style>`.
- Проверка каждого элемента на наличие текста `{{dates}}` и замена его на текущую дату.
Этот скрипт можно установить в расширение для браузера, такое как Tampermonkey или Greasemonkey, и он будет автоматически заменять текст `{{dates}}` на текущую дату на всех страницах, где это необходимо.
пример кода:
(function($) {
'use strict';
// Функция для получения текущей даты в формате DD.MM.YY
function getCurrentDate() {
const date = new Date();
const day = String(date.getDate()).padStart(2, '0');
const month = String(date.getMonth() + 1).padStart(2, '0'); // Месяцы идут от 0 до 11
const year = String(date.getFullYear()).slice(-2);
return `${day}.${month}.${year}`;
}
// Замена {{dates}} на текущую дату
function replaceDates() {
const currentDate = getCurrentDate();
$('body').contents().each(function() {
if (this.nodeType === Node.TEXT_NODE) {
this.nodeValue = this.nodeValue.replace(/{{dates}}/g, currentDate);
} else {
$(this).html($(this).html().replace(/{{dates}}/g, currentDate));
}
});
}
// Выполнение функции замены после полной загрузки страницы
$(document).ready(function() {
replaceDates();
});
})(jQuery);