• XSS.stack #1 – первый литературный журнал от юзеров форума

Как получить ввод из другого расширения на JS ?

Ruslan Borisovich

Премиум
Premium
Регистрация
11.01.2023
Сообщения
17
Реакции
5
Не понимаю как получить ввод из другого расширения используя свое расширение для браузера. Условно у меня установлено расширение А из магазина гугл расширений, у него есть input куда пользователь вводит пароль и нажимает кнопку войти. Я планирую сделать свое расширение, которое буду устанавливать как распакованное, и его задача состоит в том, чтобы выводить то что пишется в текстовое поле input расширения А. Вообще есть ли такая возможность и как это сделать ? Пытался реализовать кодом ниже но ничего не работает, работает только на сайте каком-нибудь, в качестве примера использовал ютуб. Заметил что если в консоли страницы расширения типа popup.html выполнить один из этих скриптов то вывод есть, а мое расширение не срабатывает.

3 варианта исполнения кода в content-script.js
JavaScript:
document.addEventListener('input', function(event) {
  if (event.target.tagName.toLowerCase() === 'input') {
    console.log(event.target.value);
  }
});


const inputs = document.querySelectorAll('input');
inputs.forEach(input => {
  input.addEventListener('input', () => {
    console.log(`Введено значение: ${input.value}`);
  });
});


document.addEventListener('keydown', function(event) {
  console.log(event.key);
});

код background.js
JavaScript:
chrome.action.onClicked.addListener(async (tab) => {
  await chrome.scripting.executeScript({
    target: { tabId: tab.id },
    files: ["content-script.js"],
  });
});
 
певрое что приходит в голову это то что не успевает повеситься эвент, код срабатывает быстрее чем отрисовывается те инпуты на которые ты их вешаешь, там же все таки лейзи лоад
 
певрое что приходит в голову это то что не успевает повеситься эвент, код срабатывает быстрее чем отрисовывается те инпуты на которые ты их вешаешь, там же все таки лейзи лоад
я не силен в js, как можно с этим справиться ? Кстати у расширения могут быть какие то защиты от этого ? И когда нажимаешь на иконку расширения то страница его не сразу появляется, где то через пару секунд. В код расширения я не могу попасть, он обфусцирован
 
я не силен в js, как можно с этим справиться ? Кстати у расширения могут быть какие то защиты от этого ? И когда нажимаешь на иконку расширения то страница его не сразу появляется, где то через пару секунд. В код расширения я не могу попасть, он обфусцирован
с этим можно справится сначала написать код который будет чекать например каждую секунду не появился ли в DOM твой инпут и когда появился уже вешать на него слушатель эвента
если ты не силен поебешься знатно с этим
 
с этим можно справится сначала написать код который будет чекать например каждую секунду не появился ли в DOM твой инпут и когда появился уже вешать на него слушатель эвента
если ты не силен поебешься знатно с этим
попробовал свой тот же код и в context-script.js написал просто
console.log('Say: Hello'); Ожидал что в консоли самого расширения появится эта надпись, но там пусто. Можем как то связаться, что бы тут не флудить ?
 
попробовал свой тот же код и в context-script.js написал просто
console.log('Say: Hello'); Ожидал что в консоли самого расширения появится эта надпись, но там пусто. Можем как то связаться, что бы тут не флудить ?
моя телега написана везде где только можно бро:)
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх