設定Firefox開發者控制台的文字輸入值?

設定Firefox開發者控制台的文字輸入值?

我目前正在將我的 Web 開發工作從經典 IDE 轉移到 Web 瀏覽器控制台。這涉及對現有原始碼的頻繁編輯,這現在意味著...

  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將要執行。

相關內容