Ozon.ru - общая тема #2

  • Автор темы Автор темы Tysha
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
186/200 РФ + плюс баллы продавца
 
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Последнее редактирование:
Рф
 
А как просить скидку 35% я пишу свою цену,но скидка все равно 5% получается
// ==UserScript==
// @Name Ozon wannaDiscount
// @namespace http://tampermonkey.net/
// @version 2025.01.08
// @description добавление кнопок 10% 15% 20% 25% 30% 35% и соотв. цен в форму запроса скидки
// @Author k-dmitriy
// @match https://www.ozon.ru/product/*
// @Icon https://www.google.com/s2/favicons?sz=64&domain=ozon.ru
// @GranT none
// @Require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js
// @downloadURL https://update.greasyfork.org/scripts/523327/Ozon wannaDiscount.user.js
// @updateURL https://update.greasyfork.org/scripts/523327/Ozon wannaDiscount.meta.js
// ==/UserScript==

(function() {
'use strict';

// https://www.ozon.ru/api/entrypoint-...nna-discount?sku=1678475755&page_changed=true

document.arrive('div[data-widget="wannaDiscount"]', {onceOnly: true}, function () {
let price = this.querySelector('div[style*="price-strikethrough"]').innerText.split('\n');
price = Number(price[1].replace(/\D/g, ''));
let inpt = this.querySelector('input');
let buttonContainer = this.querySelector('button').parentElement.parentElement.parentElement;
let buttons = new Array();
for (let i = 2; i <= 7; i++) {
buttons.push(document.createElement('input'));
buttons.at(-1).type = 'button'; buttons.at(-1).value = '-'+ i*5 +'%\n'+Math.floor(price*(1-i*5/100));
buttons.at(-1).addEventListener('click', () => {
// navigator.clipboard.writeText(Math.floor(price*(1-i*5/100)));
inpt.dispatchEvent(new Event('input'));
inpt.value = Math.floor(price*(1-i*5/100));
inpt.focus();
inpt.dispatchEvent(new Event('input'));
});
buttonContainer.append(buttons.at(-1));
}
});
})();
 
Скрытое содержимое доступно для зарегистрированных пользователей!
 
почему этот товар не видно у него же?
как его найти в каталоге продавца?
кеширование. магазы продов обновляются реже общей категории. особенно это заметно со свежайшими карточками и магазами. если такую карточку найти в общем каталоге и перейти по ней в магаз, то может написать что магаза не существует.
озон сложно устроен. бывает даже пункты выдачи в 300 метрах друг от друга меняешь и меняется чутка выдача в категориях
а ещё бывает если F5 жать по КД, то может разок появится что то новое, но при очередном F5 опять пропасть
 
Последнее редактирование:
// ==UserScript==
// @Name Ozon wannaDiscount
// @namespace http://tampermonkey.net/
// @version 2025.01.08
// @description добавление кнопок 10% 15% 20% 25% 30% 35% и соотв. цен в форму запроса скидки
// @Author k-dmitriy
// @match https://www.ozon.ru/product/*
// @Icon https://www.google.com/s2/favicons?sz=64&domain=ozon.ru
// @GranT none
// @Require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js
// @downloadURL https://update.greasyfork.org/scripts/523327/Ozon wannaDiscount.user.js
// @updateURL https://update.greasyfork.org/scripts/523327/Ozon wannaDiscount.meta.js
// ==/UserScript==

(function() {
'use strict';

// https://www.ozon.ru/api/entrypoint-api.bx/page/json/v2?url=/modal/wanna-discount?sku=1678475755&page_changed=true

document.arrive('div[data-widget="wannaDiscount"]', {onceOnly: true}, function () {
let price = this.querySelector('div[style*="price-strikethrough"]').innerText.split('\n');
price = Number(price[1].replace(/\D/g, ''));
let inpt = this.querySelector('input');
let buttonContainer = this.querySelector('button').parentElement.parentElement.parentElement;
let buttons = new Array();
for (let i = 2; i <= 7; i++) {
buttons.push(document.createElement('input'));
buttons.at(-1).type = 'button'; buttons.at(-1).value = '-'+ i*5 +'%\n'+Math.floor(price*(1-i*5/100));
buttons.at(-1).addEventListener('click', () => {
// navigator.clipboard.writeText(Math.floor(price*(1-i*5/100)));
inpt.dispatchEvent(new Event('input'));
inpt.value = Math.floor(price*(1-i*5/100));
inpt.focus();
inpt.dispatchEvent(new Event('input'));
});
buttonContainer.append(buttons.at(-1));
}
});
})();
Подозреваю, что у него другой случай. Он знает, как это сделать, но прод не позволяет больше 5%.
И т.к. он не написал, то наверное автоодобрения не было.

Кстати, а можно как-то отменить запрос скидки? Установить цену в карточке нельзя, можно только на 1р меньше.

И где-то глюк, после установки скрипта цена в карточке выглядит так, лечится обновлением. Наверное надо где-то время ожидания подкрутить
1769465953353.webp

Воспроизводится не стабильно
 
Последнее редактирование:
Кстати, а можно как-то отменить запрос скидки? Установить цену в карточке нельзя, можно только на 1р меньше.
Мопед Скрипт не мой, но автор присутствует в этой теме.
Вот только не помню - кто.
 
Последнее редактирование:
У меня с телефона всегда 5% сколько не запросишь, просто запрашиваю 5% и меняю на 35%. Баг такой.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху