Как изменить код JavaScript во время выполнения? - PullRequest
19 голосов
/ 08 сентября 2011

Есть ли способ изменить код JavaScript во время отладки?Visual Studio имеет «Редактировать и продолжить», и аналогичная горячая замена кода может быть выполнена на Java и других языках.Можно ли это сделать с помощью JavaScript, и если да, то как?

Ответы [ 4 ]

12 голосов
/ 08 сентября 2011

Chrome, Safari и некоторые другие браузеры на основе WebKit содержат функцию в веб-инспекторе, известную как Live Edit.Если вы перейдете на панель «Сценарии» и остановитесь на точке останова (или, может быть, даже если не остановитесь на точке останова - я не уверен), вы можете дважды щелкнуть строку и начать ее редактирование.Внесенные изменения вступят в силу в сценарии.

10 голосов
/ 08 сентября 2011

С инструментами Chrome Developer это очень просто.

Просто откройте инспектор, откройте вкладку scripts, выберите нужный в раскрывающемся меню и вы сможете редактировать скрипт.и добавить в точки останова.Если вы обновите страницу, ваши точки останова останутся там.

Если вы смотрите этот доклад, но Пол Ирриш, он показывает, как вы можете редактировать сценарий на лету

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

также хорошо:

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

3 голосов
/ 08 сентября 2011

Если вы говорите во время отладки, очень легко изменить работающий код.В консоли отладки вы можете ввести выражения Javascript, и он будет работать в контексте окна, которое содержит все объекты и функции вашего кода, поэтому вы можете поменять их местами, переопределив их.

0 голосов
/ 04 ноября 2015

Поскольку JavaScript может изменить DOM, вам, по сути, нужно изменить файл JavaScript, сохранить его и перезагрузить. Мне нравится IE, поэтому я запускаю веб-страницу в браузере, а не в режиме отладки. Затем вы можете изменить файлы сценариев, сохранить их. Вернитесь в браузер и перезагрузите (F5), чтобы увидеть ваши изменения. Предположительно, в IE 11 есть такая возможность (вероятно, как в Chrome, что, по сути, я и делаю, меняя сохранение перезагрузки с того, что я могу сказать), но я не могу найти его, не говоря уже об открытии файла js. Супер плохой интерфейс. Я предполагаю, что браузер, чтобы открыть значок файла, enter image description here, но он всегда отображается серым цветом.

...