Загрузка данных


// ==UserScript==
// @name         СТРУНА+ AutoLogin
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Автологин в СИ "СТРУНА+" и переход на /view_channels
// @match        http://192.168.1.100/*
// @match        https://192.168.1.100/*
// @grant        none
// @run-at       document-end
// ==/UserScript==

(function() {
    'use strict';

    // === НАСТРОЙКИ ===
    const USER_LOGIN = 'admin';
    const USER_PASS  = 'ТВОЙ_ПАРОЛЬ'; // <-- Впиши сюда пароль
    
    // Если адрес с префиксом /strunaplus/view_channels, укажи его тут:
    const TARGET_URL = '/view_channels'; 

    const userField = document.querySelector('input[name="user_id"]');
    const passField = document.querySelector('input[name="password"]');
    const submitBtn = document.querySelector('button[type="submit"]');
    const errorBox  = document.querySelector('.error');

    // 1. Если мы находимся на странице логина
    if (userField && passField && submitBtn) {
        // Проверка: если сервер вернул ошибку (например, неверный пароль), 
        // останавливаем скрипт, чтобы не уйти в бесконечный цикл перезагрузок
        if (errorBox && errorBox.textContent.trim() !== '') {
            console.warn('СТРУНА+ AutoLogin: Ошибка авторизации, авто-вход остановлен.');
            return;
        }

        // Заполняем поля
        userField.value = USER_LOGIN;
        passField.value = USER_PASS;

        // Вызываем события для корректной работы jQuery-скрипта login.min.js
        userField.dispatchEvent(new Event('input', { bubbles: true }));
        userField.dispatchEvent(new Event('change', { bubbles: true }));
        passField.dispatchEvent(new Event('input', { bubbles: true }));
        passField.dispatchEvent(new Event('change', { bubbles: true }));

        // Нажимаем "войти" с небольшой задержкой, чтобы загрузился login.min.js
        setTimeout(() => {
            submitBtn.click();
        }, 300);
    } 
    // 2. Если полей логина нет (мы уже вошли в систему)
    else {
        // Если мы ещё не на странице /view_channels — переходим на неё
        if (!window.location.pathname.endsWith(TARGET_URL)) {
            window.location.href = TARGET_URL;
        }
    }
})();