Я создаю расширение Chrome, которое будет взаимодействовать с существующим веб-приложением. Мне нужно выполнить действие, когда пользователь нажимает «кнопку» в существующем приложении перед «встроенными» или «стандартными» действиями приложения (кнопка на самом деле <div>
с присоединенными событиями JS onClick).
Насколько я знаю, вы не можете принудительно запускать обработчики onClick в любом порядке, поэтому я не могу просто использовать .click () jQuery, чтобы добавить новое событие onClick (b / c есть вероятность того, что действие по умолчанию будет запущено раньше моего).
Я экспериментировал с рядом других подходов - все они провалились. Возможно ли то, что я пытаюсь сделать, учитывая изолированные миры Chrome ?
Вот подходы, которые я использовал, которые не сработали для меня:
- Решение: Удалите все обработчики щелчков, кроме моего, а затем запустите другие обработчики после того, как я завершу свое действие
Проблема : Я не смог получить список существующих обработчиков кликов
- Решение: Скройте кнопку по умолчанию
<div>
и поместите вместо нее мою кнопку. После того, как событие click запущено на моем, покажите существующую кнопку, а затем запустите событие на оригинале (думаю, мне нужно показать его, прежде чем я смогу запустить событие?)
Проблема: кнопка не отвечает на событие, которое я создал.
- Решение: До того, как мои действия будут выполняться в фоновом режиме через равные промежутки времени, поэтому почти гарантированно завершится к тому времени, когда пользователь нажмет кнопку.
Проблема: это форматирует текст на экране, который я бы предпочел не форматировать, пока пользователь не нажмет кнопку, он может пропустить некоторое форматирование, основанное на таймере опроса и т.д ...
Примечание: вполне возможно, что один из этих подходов сработал, но ошибка помешала ему работать. Если это так, пожалуйста, дайте мне знать!