Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

kairos

Пользователи
  
  • Публикаций

    53
  • Зарегистрирован

  • Посещение

Информация

  • Пол
    Мужчина
  • Город:
    Полтава
  • Интересы
    Opencart, xml выгрузки

Посетители профиля

1 995 просмотров профиля

Достижения kairos

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator
  • Reacting Well Редкая
  • Conversation Starter
  • Week One Done

Последние медали

6

Репутация

  1. kairos

    Перемога

    Приём который вы сейчас используете называется "виктимблейминг" когдаь преступник обвиняет жертву в том что сам ей сделал. Я хочу напомнить что это ВАШИ солдаты пришли на нашу землю. Это ВАША страна устраивает геноцид на оккупированных территориях: Буча, Ирпень, Мариуполь, Изюм... Прямо сейчас у меня нет света потому что вы бомбите инфраструктуру. И при этом у вас хватает наглости называть ******цев нацистами?! Чем ваши слова отличаются от слов Соловьева или Скабеевой? А на счёт нации, так все вы поголовно всегда используете этот прием "виктимблейминг", постоянно врёте, манипулируете и переворачивает все с ног на голову. У вас везде "не все так однозначно" и везде "Америка виновата". Какое после этого к вам как к нации может быть отношение?
  2. Во общем да, оказалось что дело в настройках хостинга, я попробовал получить данные из другого сервера и все работает нормально. На проблемном хостинге помог файл: .htaccess со следующим содержимым: <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> <IfModule mod_headers.c> Header always set Access-Control-Allow-Origin "https://b.com" Header always set Access-Control-Allow-Methods "GET,POST,PATCH,PUT,DELETE,OPTIONS" Header always set Access-Control-Allow-Headers "*" Header always set Access-Control-Allow-Credentials "*" Header set Access-Control-Allow-Credentials true </IfModule> </IfModule> При этом аналогичные запросы из php файла пришлось убрать, итоговый код: PHP: <?php header('content-type: application/json'); echo '{"foo":"bar"}'; file_put_contents(__DIR__ . '/test_GET_data.txt', var_export($_GET, true)); file_put_contents(__DIR__ . '/test_POST_data.txt', var_export($_POST, true)); ?> JS: $(document).ready(function(){ $.ajax({ url: "https://b.com/", crossDomain: true, success: function( response ) { console.log(response); } }); });
  3. В общем следующий код на локальной машине отдает данные нормально: $(document).ready(function(){ $.ajax({ url: "http://b.com", crossDomain: true, success: function( response ) { console.log(response); } }); }); <?php header('content-type: application/json'); header('Access-Control-Allow-Origin: http://a.com'); echo '{"foo":"bar"}'; ?> То есть на локалке достаточно было убрать: dataType: "jsonp", однако на виртуальном хостинге этот код не работает, видимо блокировка идет где то на уровне настроек хостинга, интересно можно ли это решить средствами php или скажем путем добавления файла: .htaccess или тут без обращения в саппорт хостинга не обойтись?
  4. Приветствую форумчане. Такая проблема, пытаюсь выполнить ajax запрос, суть которого отправить некоторые данные с домена: a.com на b.com и соответственно получить ответ от b.com с целью дальнейшей его обработки в скрипте на a.com Оба домена находятся на OpenServer на локальной машине, то есть у меня есть контроль над http://b.com/ и я могу прописать в php файле необходимые настройки. Однако при попытке выполнить ajax запрос получаю ошибку: jquery-3.6.0.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://b.com/?callback=jQuery360001053556176974424_1630579545897&_=1630579545898 with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details. Аналогичную ситуацию имею на хостинге уже на реальных доменах. При этом данные c a.com на b.com в php скрипт все же попадают, однако, мне не удается добиться чтения ответа на домене a.com. Что характерно в сети есть по меньшей мере один домен с которого таки удается получить данные таким способом. Если вместо b.com подставить страницу: https://jsonplaceholder.typicode.com/todos/1 то в этом случае получаю ответ: {userId: 1, id: 1, title: "delectus aut autem", completed: false} Однако же добиться аналогичного эффекта на домене под собственным контролем я не могу. Пробовал в js указывать crossDomain: true, на стороне php пробовал указывать различные заголовки по типу: header('content-type: application/json'); и тому подобное... пробовал даже скопировать из браузера заголовки которые отдает сайт https://jsonplaceholder.typicode.com/todos/1 и подставить их в php файл через тот же header() однако ничего не выходит. Подскажите куда копать? Вопрос вроде плевый, но сколько не пытаюсь ничего не получается. Ниже код js: <script> //Первый вариант на jQuery: $(document).ready(function(){ $.ajax({ url: "http://b.com", crossDomain: true, dataType: "jsonp", success: function( response ) { console.log(response); } }); }); </script> <script> //Второй вариант на чистом js: function receiver(data){ console.log(data); } </script> <script src="http://b.com/?callback=receiver"></script> код php: <?php header('content-type: application/json'); header('Access-Control-Allow-Origin: http://a.com'); header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE'); echo '{"foo":"bar"}'; ?>
  5. В общем получается что для такого кода: document.addEventListener('DOMContentLoaded', function() { console.log('test DOMContentLoaded!!!'); document.qerySelector('#section-slideshow > .Slideshow > .Slideshow__Carousel > button.next').addEventListener('click', function (e) { console.log('test click!!!'); console.log(e); }); }); Первое сообщение: "test DOMContentLoaded!!!" - выводится, а при клике не кнопку второе: "test click!!!" - уже нет. Ну то есть событие клика этот код не отслеживает. Но повторюсь мне нужно не отследить событие клика, а именно вызвать его. Задача усложняется тем что эти кнопки: <button class="flickity-prev-next-button-222 previous" type="button" aria-label="previous"><svg viewBox="0 0 100 100"><path d="M 10,50 L 60,100 L 70,90 L 30,50 L 70,10 L 60,0 Z" class="arrow"></path></svg></button> они как бы создаются слайдером, возможно поэтому я не могу вызвать событие клика по ним к примеру тем же методом trigger для jQuery.
  6. Странно, выдает ошибку: (index):1080 Uncaught TypeError: Cannot read property 'addEventListener' of null at (index):1080 (index):1067 Uncaught TypeError: document.qerySelector is not a function at HTMLDocument.<anonymous> ((index):1067) Кроме того как я понимаю это код чтобы отследить событие клика? А мне нужно его вызвать, то есть с имитировать событие как будто пользователь кликнул на кнопку.
  7. Вопрос к знатокам JS. Пытаюсь вызвать событие клика на кнопку. Однако событие не происходит. Решил проверить правильно ли отобрал кнопку на странице для дальнейшей работы с ней В итоге вот такой код: var previousButton = document.querySelector('button.previous'); console.log(previousButton); Выдает в консоль буквально следующее: <button class="flickity-prev-next-button-222 previous" type="button" aria-label="previous"><svg viewBox="0 0 100 100"><path d="M 10,50 L 60,100 L 70,90 L 30,50 L 70,10 L 60,0 Z" class="arrow"></path></svg></button> И я вот тут что-то запутался. Он мне что вернул? Объект или строку с кодом? Если объект то подходит ли он для вызова события клика на него? При этом в документации указанно что метод document.querySelector() - возвращает ссылку на объект типа Element линк: https://developer.mozilla.org/ru/docs/Web/API/Document/querySelector Но почему тогда я вижу в консоли строку с исходным кодом?
  8. Здравствуйте. Я делал данную доработку для Scrin, API там как такового нет, данные парсяться с сайта европочты по крону раз в сутки, после этого на странице оформления заказа готовые данные подтягиваются уже из сайта заказчика. К симпле подключились небольшой модификацией в tpl файлах модуля. Если нужно могу вам сделать аналогичную реализацию. Пишите в ЛС.
  9. Приветствую. Если не найдете исполнителя который возьмется за задачу "целиком" то обращайтесь, могу выполнить интеграцию с внешними сервисами, а также почти все пункты за исключением разве что дизайна. А так советовал бы вам разбить ТЗ на отдельные логические части и искать исполнителя отдельно по каждой из них - быстрее найдете. Ведь тот кто хорошо может сделать дизайн не факт что разбирается в системном администрировании и наоборот.
  10. kairos

    Три крутых истории, про быстрые магазины!

    А точно, не сообразил)) Как говорит один мой друг: "Перекуп на перекупе сидит и перекупом погоняет".
  11. kairos

    Три крутых истории, про быстрые магазины!

    Спасибо. Как всегда очень поучительные кейсы. По второму кейсу интересно как "хайлоад" фирма не заметила что фиды выжирают память? Или их geo API сбил с толку?
  12. Да в 3-йке проблема осталась. Огромное спасибо за решение.
  13. Возможно вы правы, однако задача не состоит в том чтобы запретить поисковику обход страниц, а именно в том чтобы дублирующие страницы не появились в поиске, чтобы они не мешали продвижению основных страниц. Ноуиндекс здесь не совсем подходит так как на сколько я знаю работает он только лишь для Яндекса. Ну и кроме того решение о том каким именно образом закрывать страницы не всегда принимает разработчик, как правило есть заказчик, которому задачи могут ставить seo-шники.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.