Definindo o valor de entrada de texto do console do desenvolvedor do Firefox?

Definindo o valor de entrada de texto do console do desenvolvedor do Firefox?

Atualmente, estou no processo de migrar meu trabalho de desenvolvimento web dos IDEs clássicos para o console do navegador web. Isso envolve edição frequente do código-fonte existente, o que agora significa...

  1. registrando a fonte, por exemploconsole.log(myFunc.toString())
  2. copiar o texto para a área de transferência, o que pode ser feito de pelo menos duas maneiras:
    • clique RMBna mensagem do console e selecione Copy Message(infelizmente isso também copia algum lixo)
    • arraste LMBde cima para baixo da mensagem e clique Ctrl+C(infelizmente, selecionar o texto arrastando é propenso a erros e demorado em geral)
    • (bloqueado)document.execCommand('copiar')só pode ser acionado porclique em eventos
  3. colando o texto na entrada do console

Classifiquei meus fluxos de trabalho desejados:

  • Nível A: Posso preencher a entrada do console diretamente chamando uma única função, sem interação adicional com mouse ou teclado, por exemplo, edit("some text")copiar e colar diretamentesome text
  • Camada B: Posso copiar algum texto para a área de transferência chamando uma única funçãosemMudanças no DOM, só Ctrl+Vsão necessárias para colar o conteúdo da área de transferência, por exemplocopy("some text")
  • Nível C: igual ao nível B, mas alterações no DOM são permitidas
  • Camada X: qualquer coisa que envolva extensões de navegador para obter uma solução de nível A, B ou C

Responder1

A solução de nível A não pode ser alcançada, porque isso exigiria que o código inserido na linha de comando fosse automaticamente substituído por outro, o que não é possível. Ou seja, não há funcionalidade integrada para isso eextensões atualmente (a partir do Firefox 69) não têm acesso à linha de comando.

Embora a cópia seja facilmente possível através docopy()comando. Então, se você quiser editar uma função no console, basta chamar copy(myFunc.toString())e colar via Ctrl+ V.

Claro, isso é um tanto limitado, porque você só poderá editar funções globais normais, sem funções de seta, métodos de objeto ou coisas semelhantes.

Para funções reais de edição ao vivo, você precisa esperarerro 771339resp. é superiorerro 1559482ser implementado.

informação relacionada