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