Форум программистов, компьютерный форум, киберфорум
JavaScript: API
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.04.2016
Сообщений: 19
1

Создать расширение для браузера Yandex, которое будет менять цвет элементов на странице

26.08.2019, 14:07. Показов 2339. Ответов 2

Author24 — интернет-сервис помощи студентам
Заранее извиняюсь за повторное размещение тему, не много запутался в разделах форума.
Доброго времени суток форумчане!
Столкнулся с кучей проблем с js
В общем ситуация такая...
Имеется сайт для покупки предметов из игры, dmarket.com, там на определенных предметах есть скидка, 10%, 15% 20% 50% и т.д.
Хочу создать расширение для браузера Yandex которое будет просто менять цвет той самой скидки с белого на любой другой, путём добавление атрибута в элемент, при условии что допустим скидка будет больше 30%.
Но у меня нечего не работает =(
В общем молва о помощи к вам!
Вот что я накалякал опираясь на другое расширение, интернет, и свою пустую голову. (не бейте только)
Вот manifest
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
   "background": {
      "persistent": true,
      "scripts": [ "src/bg/background.js" ]
   },
    "manifest_version": 2,
    "name": "DM",
    "description": "DM prices best",
    "version": "0.0.1",
    "icons": 
    {
      "128": "icons/icon128.png",
      "16": "icons/icon16.png",
      "48": "icons/icon48.png"
    },
    "content_scripts": 
    [
        {
            "matches": 
            [
                "https://dmarket.com/*",
                "http://dmarket.com/*",
                "*://dmarket.com/*" 
            ],
            "js": 
            [
                "js/items.js" 
            ]
        }
]
}
Это сам скрипт
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var Item = function (DOM_OBJECT) {
      this.DOM_OBJECT = DOM_OBJECT;
};
Item.prototype.getValues = function() {
 
      var rawObject = $( this.DOM_OBJECT );
      this.name = rawObject.find("u-game--csGo").text();
      this.$node = $( this.DOM_OBJECT );
 
      //console.log(valsrc, this.base_val, this.sale_val);
 
      this.sale_val = parseFloat(
          rawObject.find("div.o-assetBadge o-assetBadge--discount ng-star-inserted").replace(/\D/g,'')
      );
 
      console.log(this);
 
this.$node.attr("opd", true);
 
};
 
Item.prototype.addColor = function() {
    if(this.sale_val < 0)
        {
            this.sale_val.createAttribute(style, "color: rgb(136, 71, 255);");
        }
};
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.08.2019, 14:07
Ответы с готовыми решениями:

Возможно ли на javascript создать расширение для браузера, которое бы авторизовывалось в vk?
Возможно ли на javascript создать расширение для браузера (chrome,firefox,opera), которое бы...

Как создать расширение для браузера, меняющее значение css элементов?
Какие файлы нужны для расширения, чтоб при добавлении расширения, оно сразу активировалось.И...

Создайте приложение которое будет менять шрифт, размер. Delphi 10
По нажатию на соответствующие кнопки (шрифт, размер, начертание, цвет) появляются кнопки с...

Как написать расширение, которое будет вносить какие-то изменения на страницу определенного сайта?
Причем элементы в которые нужно вносить изменения грузятся аяксом.

2
129 / 112 / 39
Регистрация: 27.09.2012
Сообщений: 305
26.08.2019, 17:38 2
Лучший ответ Сообщение было отмечено wfru как решение

Решение

Даже не знаю зачем тут расширение писать. ОТкрой консоль на странице, вбей код:

Javascript
1
2
3
4
5
6
7
8
9
10
function changeColor() {
    document.querySelectorAll(".o-assetBadge.o-assetBadge--discount").forEach( elem => {
        if ( +elem.textContent.replace(/\D+/g, "") > 30 && !elem.classList.contains("colorized")) {
            elem.classList.add("colorized");
            elem.style.color = "red";
        }
    })
}
 
let interval = setInterval(changeColor, 1000);
По идее можешь его и в расширение свое засунуть. Просто надо будет еще написать управляющие функции для запуска и остановки кода, выбора стиля шрифта и т.д.
0
0 / 0 / 0
Регистрация: 28.04.2016
Сообщений: 19
26.08.2019, 21:17  [ТС] 3
И в правду.... Спасибо большое :3
0
26.08.2019, 21:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.08.2019, 21:17
Помогаю со студенческими работами здесь

Написать код который будет менять цвет надписи как светофор
Очень срочно нужно HTML

Как создать форму для ввода, в которое будет вводиться шестизначное число в шестнадцатеричной системе?
Как создать форму для ввода, в которое будет вводиться шестизначное число в шестнадцатеричной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru