Есть ли способ изменить код JavaScript во время отладки? Visual Studio имеет "Редактировать и продолжить", и подобная "горячая" замена кода может быть выполнена на Java и других языках. Можно ли это сделать с помощью JavaScript, и если да, то как?
Как изменить код javascript во время выполнения?
Ответ 1
Chrome, Safari и некоторые другие браузеры на базе WebKit содержат функцию в веб-инспекторе, известном как Live Edit. Если вы перейдете на панель "Сценарии" и остановитесь на контрольной точке (или, может быть, даже не остановитесь на контрольной точке - я не уверен), вы можете дважды щелкнуть по строке и начать редактирование этой строки. Внесенные вами изменения вступят в силу для script.
Ответ 2
С инструментами Chrome Developer это очень просто.
Просто откройте инспектор, нажмите вкладку scripts
, выберите, какой из них вы хотите в раскрывающемся меню, и затем вы сможете редактировать script и добавлять точки останова. Если вы обновите страницу, ваши контрольные точки останутся там.
Если вы смотрите этот разговор, но Пол Ирланд, он показывает, как вы можете редактировать script на лету
http://paulirish.com/2011/a-re-introduction-to-the-chrome-developer-tools/
тоже хорошо:
Ответ 3
Если вы говорите об отладке, очень легко изменить текущий код. В вашей консоли отладки вы можете ввести выражения Javascript и работать в контексте окна, которое содержит все объекты и функции вашего кода, поэтому вы можете их заменить, переопределив их.
Ответ 4
Поскольку JavaScript может изменять DOM, вам по существу нужно изменить файл JavaScript, сохранить его и перезагрузить. Для меня мне нравится IE, поэтому я запускаю веб-страницу в браузере НЕ В режиме DEBUG. Затем вы можете изменить файлы script, СОХРАНИТЕ их. вернитесь в браузер и перезагрузите (F5), чтобы просмотреть свои изменения. Предположительно, IE 11 обладает этой способностью (возможно, как и Chrome, который, по сути, я делаю, изменяя перезагрузку из того, что я могу сказать), но я не могу заставить его найти, не говоря уже о открытии js файла. Супер-плохой интерфейс. Я предполагаю, что браузер откроет значок файла но он всегда неактивен.