Существует ли инструмент для динамического изменения запуска JavaScript в браузере? [закрыто]

StackOverflow https://stackoverflow.com/questions/255785

  •  05-07-2019
  •  | 
  •  

Вопрос

Существует ли инструмент для динамического изменения запуска JavaScript в браузере? Например, чтобы изменить значения переменных javascript во время выполнения.

Это было полезно?

Решение

Firebug или Venkman Javascript Debugger.

Другие советы

Итак, Firebug действительно является одним из лучших вариантов - или, если вы разработчик, который владеет Visual Studio и хочет отлаживать с помощью IE, вы можете это сделать. Предположим, вы сделаете это с Firebug, используя Firefox.

Сначала определите, где вы хотите изменить код, и поместите следующую строку непосредственно перед строкой, с которой вы хотите начать связываться:

debugger;

Это приведет к тому, что Firebug остановит выполнение скрипта в этот момент, после чего вы сможете пройтись по коду и изменить значения переменных.

Вы также можете использовать Firebug для установки точек останова, щелкнув слева от строки кода в окне скриптов Firebug:

Скриншот точки останова Firebug

Просмотрите оболочку javascript здесь . Это как отладчик в вашем браузере. Вы можете запустить / изменить любую функцию javascript в активном объекте документа.

Очень удобен для отладки / обработки JavaScript других людей на сайтах, где у вас нет доступа к источнику / серверу.

Я упоминал, что у него есть табуляция? это круто.

Opera 9 теперь поставляется в комплекте с Dragonfly (аналог FireBug), и я Понял, что он тоже может редактировать JavaScript на лету. По крайней мере, эта функция появится, если у них не было времени, чтобы включить ее.

Взгляните на Firebug

Как уже упоминалось, Firebug позволяет вам устанавливать точки останова в вашем JavaScript (хотя я не добился большого успеха в достижении точек останова, когда мой JavaScript находится в документе HTML, а не во внешнем файле), что будет прерывать выполнение функция во время выполнения.

Он также позволяет просматривать объекты DOM и все свойства (включая переменные JavaScript).

Существует также облегченная версия Firebug , которая будет работать в браузерах, отличных от Firefox.

В Mozdev есть инструмент под названием MozREPL . Вы можете не только изменять и переопределять код на лету, но и получать доступ к базовому коду браузера. Это действительно круто.

Он открывает порт на вашем компьютере и позволяет подключить к нему сеанс telnet (только с локального хоста), чтобы начать выполнение кода. Вы также можете открыть этот порт для соединений, которые не принадлежат localhost .... (но будьте осторожны, это довольно небезопасно и опасно и т. Д. И т. Д.).

Он поставляется с второстепенным режимом emacs, который позволяет вам отправлять различные области текста прямо в mozdev и обеспечивает очень хороший режим взаимодействия. Я расширил его, чтобы устанавливать точки останова Firebug прямо из emacs и запускать тесты на селен. По сути, я могу написать свой браузер из моего редактора. Это довольно круто. В какой-то момент я собираюсь выпустить исходный код.

JavaScript имеет eval (), вы можете создать свою строку, а затем запустить его.

<script type="text/javascript" language="javascript">
  example = function() {alert('first');}
  example();
  eval("example = function() {alert('second');}");
  example();
</script>

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top