2011-09-08 17 views
18

有沒有辦法在調試時修改JavaScript代碼? Visual Studio具有「編輯並繼續」的功能,可以用Java和其他語言完成類似的代碼熱插拔。這可以用JavaScript來完成,如果是這樣,怎麼做?如何在運行時修改javascript代碼?

+1

您可以在Chrome調試器中查看http://stackoverflow.com/questions/5067532/editing-in-chrome-debugger –

+0

@Adam上的熱門答案:將其作爲答案! – icktoofay

+0

我做到了!它被標記爲一個微不足道的,並轉換爲評論!不知道如何標記爲一個愚蠢的問題:( –

回答

11

的Chrome,Safari和一些其他基於WebKit的瀏覽器在Web Inspector中包含一個名爲Live Edit的功能。如果轉到腳本面板並停在斷點上(或者即使沒有停在斷點上 - 我不確定),您可以雙擊一行並開始編輯該行。您所做的更改將對腳本生效。

+3

你確定嗎?實時編輯在谷歌瀏覽器中被破解了大約2年! – puchu

+3

@ puchu:你說得對,它似乎不再工作。當我四年前發佈答案時,它就起作用了...... – icktoofay

2

如果您在調試時討論,修改運行代碼非常容易。在您的調試控制檯中,您可以輸入Javascript表達式,並且它將在窗口的上下文中運行,該窗口包含代碼的所有對象和功能,因此您可以通過重新定義它們來交換它們。

9

使用Chrome開發人員工具,這非常簡單。

只需彈出打開的檢查器,單擊scripts選項卡,從下拉菜單中選擇您想要的選項,然後您可以自由編輯腳本並添加斷點。如果刷新頁面,您的斷點將停留在那裏。

如果你看這次談話,但保羅愛爾蘭人,他展示瞭如何在飛行

http://paulirish.com/2011/a-re-introduction-to-the-chrome-developer-tools/

也不錯編輯腳本:

http://blip.tv/jsconf/jsconf2011-paul-irish-5382827

+2

Firefox瀏覽器有[Firebug](http://getfirebug.com/) – sanmai

+0

是的,螢火蟲也很好:) – wesbos

+1

好的,我沒有觀看視頻,但我知道如何使用控制檯即時執行JavaScript並即時更改功能定義。但這不是我的願望。我希望能夠在調試器控制檯內編輯腳本,就像我可能在我最喜歡的javascript編輯器中一樣。那可能嗎? – theninjagreg

0

因爲JavaScript可以修改DOM,所以您必須更改JavaScript文件並保存並重新加載。對於我來說,我喜歡IE瀏覽器,所以我在瀏覽器的NOT IN DEBUG模式下運行網頁。然後你可以改變腳本文件,保存它們。切換回瀏覽器並重新加載(F5)以查看您的更改。假設IE 11有這種能力(可能像Chrome本質上是我所做的,從我所知道的更改保存重新加載),但我無法找到它,更不用說打開一個js文件。超級糟糕的UI。我猜瀏覽器打開文件圖標是enter image description here,但它總是灰顯。