Top.Mail.Ru
Ответы

Как сделать поиск времени и даты для юзер скрипта js

Как сделать поиск даты для юзер скрипта js для форума блек раши, чтоб писало дату. Пример:
Дата {{dates}}
И вместо {{dates}} пишет сегодняшнюю дату (25.07.24) помогите пж

По дате
По рейтингу
Аватар пользователя
Новичок
10мес

Для того чтобы создать юзерскрипт на 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}}` на текущую дату на всех страницах, где это необходимо.

Аватар пользователя
Ученик
11мес

пример кода:

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
 (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);