• Как получить доступ к вложенному массиву?

    @zkrvndm
    Софт для автоматизации
    Выполните в консоли:
    arr = await (await fetch('https://sheetdb.io/api/v1/j0s93lmrv0uwi')).json();
    
    key = arr[8]['KEYWORDS'];
    link = arr[8]['LINK'];
    
    console.log('Ключ: ' + key);
    console.log('Ссылка: ' + link);
    Ответ написан
    Комментировать
  • Как автоматически подставить параметр к URL?

    @zkrvndm
    Софт для автоматизации
    Ответ написан
    Комментировать
  • Как сохранять и считывать настройки расширения для браузера на JS?

    @zkrvndm
    Софт для автоматизации
    Нужно хранить данные в базе данных и не просто базе данных, а желательно в базе данных фонового процесса. Например, я сам всегда использую IndexedDB, он удобен тем, что там можно хранить что угодно - любой тип данных.

    P. S. Есть риск потерять данные, если юзер очистит полностью историю и кеш или переустановит расширение. Если нужна высокая надежность, можно данные и вовсе хранить у себя на сервере, либо предлагать функцию экспорта и импорта данных специальным файлом настроек. Насчет chrome.storage ничего не могу сказать, никогда не пользовался им.
    Ответ написан
    Комментировать
  • Как спарсить большой файл с PHP?

    @zkrvndm
    Софт для автоматизации
    Просто вынесите задачу на фронт. Создайте небольшую html-страничу, внутри нее кнопку. При нажатии на кнопку, вы скачивайте ваш JSON и парсите его. После парсинга по одному перебирайте ключи первого уровня вложенности и fetch-ем по одному отсылайте данные на сервер, чтобы он из сохранил у себя. Отсылайте по одному и строго один за другим, чтобы не перегружать ваш бэкенд и так, чтобы каждый очередной запрос с гарантией успевал отработать за 60 сек.
    Ответ написан
  • Как получить данные (Form Data) из POST-запроса WooCommerce, используя JS (jQuery)?

    @zkrvndm
    Софт для автоматизации
    Найдите код инициатор запроса и выстраивайтесь в него, код инициатор можно спокойно посмотреть во вкладке network у консоли браузера. Если не понимайте как это сделать, лучше вам обратится на фрилансим.
    Ответ написан
    Комментировать
  • Как отправить кириллицу в чат бот telegram?

    @zkrvndm
    Софт для автоматизации
    Для корректной передачи GET-параметров Вы должны использовать кодировку application/x-www-form-urlencoded. В языке PHP для получения строки нужного формата можно использовать функцию http_build_query(). Показать пример или сами справитесь?

    P. S. Кстати, вы передаете неправильный заголовок: text/xml. Сам запрос у вас тоже неправильный, вы пытайтесь сделать POST-запрос в то время как передаете данные в виде GET-строки.
    Ответ написан
    Комментировать
  • Почему не скачивается файл?

    @zkrvndm
    Софт для автоматизации
    Artem Kirsov, делайте так. Все ваши параметры засуньте в FormData и уже его отправляйте:
    async function getFile() {
    	
    	var formData = new FormData();
    	formData.append('id', 'Ваш ID');
    	formData.append('test', 'Значение параметра test');
    	
    	var blob = await (await fetch('https://адрес_для_совершения_запроса', {
    		method: 'POST',
    		body: formData
    	})).blob();
    	
    	console.log('Файл успешно скачан:');
    	console.dir(blob);
    	
    	var link = document.createElement('a');
    	link.download = 'filename.xlsx';
    	link.href = URL.createObjectURL(blob);
    	link.click();
    	
    	return blob;
    	
    }

    Вызов функции getFile() будет возвращать промис результатом которого будет файл. Обратите внимание, что в FormData у меня всего лишь пример, как указывать параметры - вы должны там добавить свои параметры и их значения.
    Ответ написан
    4 комментария
  • Почему возникает ошибка Невозможно создать класс "PHPExel_Writer_Excel2016"?

    @zkrvndm
    Софт для автоматизации
    Рекомендую использовать формат csv, у него крайне простая структура и он отлично читается экселем, из под коробки.
    Ответ написан
    Комментировать
  • Как выполнить PHP скрипт через ajax?

    @zkrvndm
    Софт для автоматизации
    Все достаточно просто. PHP такой язык, что код в нем выполняется всякий раз, когда мы открывает страницу. Иными словами, для того чтобы выполнился код в некой условном файле test.php достаточно открыть его (скачать). На JavaScript для этого можно использовать fetch. Просто сделайте запрос по адресу вашего скрипта через fetch:
    https://learn.javascript.ru/fetch
    Ответ написан
    Комментировать
  • Как сохранить данные в переменную в ajax запросе с циклом?

    @zkrvndm
    Софт для автоматизации
    Используйте асинхронность. Если добавить к функции приставку async, то внутри такой функции можно делать остановки для того, чтобы дождаться результатов работы другой асинхроной функции. jQuery функция ajax, может работать асинхронно, а значит можно сделать банально вот так:
    async function test() {
    	var out = ''
    	for (var n = 0; n < links.length; n++) {
    		var result = await $.ajax({ url: links[n], data: { 'id': 1 } });
    		// И далее делаем что-нибудь с result, внутри него будет результат запроса
    	}
    }
    
    test(); // Запускаем функцию test

    Обращаю внимание, это просто пример. Приставка await говорит, что надо дождутся выполнения запроса справа, записать результат запроса в переменную result и только потом продолжить выполнять кода дальше.
    Ответ написан
    6 комментариев
  • Как определить истинный IP пользователя с Opera VPN?

    @zkrvndm
    Софт для автоматизации
    Если в браузере включен WebRTC, то можно определить реальный IP-адрес через него. Также существуют системы аналитики, что следят за пользователями и могут не только определить IP-адрес, но и даже почту с телефоном.
    Ответ написан
    Комментировать
  • Как записать данные в переменную из GET запроса?

    @zkrvndm
    Софт для автоматизации
    Все куда проще, чем вы думайте, просто выполните в консоли:
    let allDots = await (await fetch('http://mysite.ru/json.php')).json();
    console.log('Содержимое переменной allDots:');
    console.dir(allDots);

    Разумеется адрес для загрузки JSON замените на свой.
    Ответ написан
  • Как из URL вырезать домен без www. с помощью RegExp на js?

    @zkrvndm
    Софт для автоматизации
    Это делается так:
    new URL('https://www.rohrreinigung-schneemann.de/berlin').hostname.replace(/^www\./, '');

    Класс URL парcит адрес, из адреса берем хост и удаляем www. в начале, если оно там есть.
    Ответ написан
    2 комментария
  • Как добраться до внука iframe?

    @zkrvndm
    Софт для автоматизации
    Не слушайте комментаторов выше. Добраться до содержимого фрейма вполне возможно, для требуется соблюсти лишь одно условие: чтобы фрейм грузился с вашего же сайта.
    Ответ написан
    Комментировать
  • FormData отправляется в AXIOS, но FETCH не работает, как отправить через fetch?

    @zkrvndm
    Софт для автоматизации
    Когда вы добавляйте файл в FormData вы должны третьим параметром передавать имя файла, чего я у в вас не наблюдаю.
    Ответ написан
  • Почему jquery возвращает undefined?

    @zkrvndm
    Софт для автоматизации
    Событие DOMSubtreeModified морально устарело и не поддерживается более браузерами.
    Если вам нужна реакция на изменение страницы, то вы должны использовать наблюдателей.

    Делается это примерно так:
    // При клике на кнокпу выполняем функцию:
    
    $('#employee_avatar_button').click(function(){
    	
    	// Создаем наблюдателя, переданная функция будет
    	// выполнятся всякий раз при изменении страницы:
    
    	var observer = new MutationObserver(function() {
    		
    		// Ищем нужный нам элемент:
    		var el = $('#employee_avatar_ul li::last-child');
    		
    		// Если элемент найден:
    		
    		if (el.length > 0) {
    			
    			// Откл. наблюдателя:
    			observer.disconnect();
    			
    			// Выводим уведомления:
    			
    			console.log('Найден элемент:');
    			console.dir(el[0]);
    			
    			console.log('Его атрибут file_id: ' + el.attr('file_id'));
    			
    		}
    		
    		// Если элемента еще нет:
    		
    		else {
    			
    			// Выводим соотвествующее уведомление:
    			console.log('Обнаружено изменение содержимого тега <body></body> - однако элемент, который мы ждем, пока еще отсуствует на странице.');
    			
    		}
    		
    	});
    
    	// Прикрепляем наблюдатель к body:
    
    	observer.observe(document.body, {
    		characterData: true,
    		attributes: true,
    		childList: true,
    		subtree: true
    	});
    
    });

    Почитать подробнее можно здесь: https://learn.javascript.ru/mutation-observer
    Ответ написан
    Комментировать
  • Как отправлять файлы через AJAX?

    @zkrvndm
    Софт для автоматизации
    Все куда проще. Попробуйте так:
    $('form').submit(async function(event) {
    	
    	event.preventDefault(); // Предотвращаем отправку формы
    	var form = new FormData($('form')[0]); // Получаем форму
    	
    	// Отправляем форму AJAX-ом:
    	
        var response = await $.ajax({
            type: 'POST',
            url: 'mail.php',
            cache: false,
            data: form,
        });
    	
    	alert(response); // Выводим ответ
    	
    });
    Ответ написан
    4 комментария
  • Как обработать ответ url.fetch, который приходит в UTF-8 without BOM?

    @zkrvndm
    Софт для автоматизации
    Это же JSON. Удалите лишний текст в начале и затем распарсите JSON при помощи JSON.parse()
    Ответ написан
    Комментировать
  • Как называется тип хостинга, когда платишь лишь за фактически траты?

    @zkrvndm Автор вопроса
    Софт для автоматизации
    Нашел отличный вариант, который устраивает полностью:
    https://clo.ru
    Настроил тариф с максимальной доступной мощностью и получились траты в районе 6 руб. в час при активном использовании и 270 руб. в месяц при простое. С учетом того, что сервак нужен лишь пару раз в неделю, это просто офигеть как дёшево, по сравнению с тратами на физический сервер.

    Всем спасибо за помощь.

    P. S. Спустя сутки тестов, очень сильно разочарован. Кло ру не оправдал надежд, через него пинг до целевого сервера, который мы парсим аж целая секунда, в то время как на физическом сервере пинг менее 100 миллисекунд. Короче, похоже облачные хостинги не подходят для производительных приложений от слова совсем, слишком они тугие.
    Ответ написан
    Комментировать
  • Как сделать редирект с get параметрами на без них кроме utm меток?

    @zkrvndm
    Софт для автоматизации
    Могу подсказать, как все это сделать на JavaScript:
    <script>
        window.history.replaceState('', '', location.pathname);
    </script>

    Из плюсов: метки убираются только в браузере и это не ломает системы аналитики в вашем php-коде.
    Из минусов: по факту это всего лишь маскировка и работает она только на стороне браузера.
    Ответ написан
    Комментировать