Как установить значение текстового ввода в консоли разработчика Firefox?

Как установить значение текстового ввода в консоли разработчика Firefox?

В настоящее время я нахожусь в процессе перемещения моей работы по веб-разработке из классических IDE в консоль веб-браузера. Это подразумевает частое редактирование существующего исходного кода, что на данный момент означает...

  1. регистрация источника, напримерconsole.log(myFunc.toString())
  2. копирование текста в буфер обмена, что можно сделать как минимум двумя способами:
    • нажмите RMBна сообщение консоли и выберите Copy Message(к сожалению, это также копирует какой-то мусор)
    • перетащите LMBтекст сверху вниз и нажмите Ctrl+C(к сожалению, выделение текста путем перетаскивания подвержено ошибкам и в целом занимает много времени)
    • (заблокирован)document.execCommand('копировать')может быть вызвано толькособытия щелчка
  3. вставка текста в консольный ввод

Я расположил желаемые мной рабочие процессы в следующем порядке:

  • A-уровень: Я могу заполнить консольный ввод напрямую, вызвав одну функцию, без дополнительного взаимодействия с мышью или клавиатурой, например, edit("some text")напрямую копируя и вставляяsome text
  • B-уровень: Я могу скопировать текст в буфер обмена, вызвав одну функциюбезИзменения DOM Ctrl+Vнеобходимы только для вставки содержимого буфера обмена, напримерcopy("some text")
  • C-уровень: то же, что и B-уровень, но допускаются изменения DOM
  • X-уровень: все, что связано с расширениями браузера для достижения решения уровня A, B или C

решение1

Решение уровня A не может быть достигнуто, поскольку это потребовало бы, чтобы код, введенный в командную строку, автоматически заменялся чем-то другим, что невозможно. То есть, для этого нет встроенной функциональности ирасширения в настоящее время (начиная с Firefox 69) не имеют доступа к командной строке.

Хотя копирование легко возможно черезcopy()команда. Итак, если вы хотите отредактировать функцию в консоли, просто вызовите copy(myFunc.toString())ее и вставьте через Ctrl+ V.

Конечно, это несколько ограничено, поскольку вы сможете редактировать только обычные глобальные функции, а не стрелочные функции, методы объектов или подобные вещи.

Для настоящих функций редактирования в реальном времени вам придется подождатьошибка 771339соответственно, это лучшеошибка 1559482для реализации.

Связанный контент