it-swarm.com.ru

Как изменить код JavaScript во время выполнения?

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

18
theninjagreg

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

11
icktoofay

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

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

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

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

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

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

9
wesbos

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

2
Chetan

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

0
MtnManChris