Подтвердить что ты не робот

Как я могу редактировать javascript в моем браузере, как я могу использовать Firebug для редактирования CSS/HTML?

В JSP файлах у меня есть довольно сложный Javascript. На производственной машине мы видим очень странную ошибку, которую мы не смогли понять. Мы никогда не смогли воспроизвести его в локальной среде или среде разработки. Это может быть связано с javascript, но я не нашел хорошего способа сделать это: используйте мой браузер для посещения страницы (на веб-сайте), а затем используйте инструменты браузера для редактирования javascript, который выполняется на этой странице, включая при перезагрузке страницы.

Я всегда могу это сделать, чтобы настроить CSS и т.д., но, как указывают эти вопросы, неясно, как настроить клиентскую сторону JS:

Однако эти ответы мне не помогают, потому что:

  • "Execute JS" (Firefox addon), похоже, не работает (не делает больше, чем консоль в Chrome уже может сделать),
  • "Charles" может работать, если бы я использовал разделенные js файлы, но мой javascript встроен в JSP

Кажется, Как изменить код javascript на лету в браузере в режиме отладки? - это самое близкое к тому, что я говорю, но этот парень isn "Можно говорить о том, что он сделал, потому что это было для его работодателя".

Спасибо за вашу помощь! Райан

4b9b3361

Ответ 1

Проблема с редактированием JavaScript, как и CSS и HTML, заключается в том, что нет чистого способа распространения изменений. JavaScript может изменять DOM, отправлять запросы Ajax и динамически изменять существующие объекты и функции во время выполнения. Итак, как только вы загрузили страницу с помощью JavaScript, она может быть совсем другой после запуска JavaScript. Браузеру необходимо будет отслеживать каждую модификацию вашего кода JavaScript, чтобы при редактировании JS он отбрасывал изменения на чистую страницу.

Но вы можете динамически модифицировать JavaScript несколькими способами:

  • Утилиты JavaScript в строке URL: javascript: alert (1);
  • Через консоль JavaScript (там встроена в Firefox, Chrome и более новые версии IE
  • Если вы хотите изменить файлы JavaScript, поскольку они будут отправлены в ваш браузер (т.е. захват их в пути и их изменение), я не могу предложить большую помощь. Я бы предложил использовать прокси-сервер отладки: http://www.fiddler2.com/fiddler2/

Первые два варианта великолепны, потому что вы можете изменять любые переменные и функции JavaScript, находящиеся в настоящее время в области. Тем не менее, вы не сможете изменить код и запустить его с помощью "только что поданной" страницы, как вы можете, с помощью третьего варианта.

Кроме этого, насколько мне известно, в браузере нет редактора редактирования и запуска JavaScript. Надеюсь, это поможет,

Ответ 2

Я знаю, что вы можете изменять файл javascript при использовании Google Chrome.

  • Откройте Chrome Inspector, перейдите на вкладку "Сценарии".
  • Нажмите раскрывающееся меню и выберите файл javascript, который вы хотите изменить.
  • Дважды щелкните текстовое поле, введите то, что вы хотите, и удалите все, что захотите.
  • Тогда вам нужно только нажать Ctrl + S, чтобы сохранить файл.

Предупреждение. Если вы обновите страницу, все изменения вернутся к исходному файлу. Я рекомендую скопировать/вставить код где-нибудь еще, если вы хотите снова использовать его.

Надеюсь, это поможет!

Ответ 3

Я хотел бы вернуться к Fiddler. После того, как вы играете с этим некоторое время, это, безусловно, лучший способ редактировать любые веб-запросы "на лету". Быть JavaScript, POST, GET, HTML, XML и т.д. Это бесплатно, но немного сложно реализовать. Вот мой КАК-ТО:

Чтобы использовать Fiddler для управления JavaScript ( "на лету" ) с помощью Firefox, выполните следующие действия:

1) Загрузите и установите Fiddler

2) Загрузите и установите расширение Fiddler:   " 3 Синтаксис-Подчеркивание надстроек"

3) Перезапустите Firefox и включите расширение FiddlerHook

4) Откройте Firefox и включите кнопку панели инструментов FiddlerHook :   View > Toolbars > Customize...

5) Нажмите кнопку инструмента Fiddler и дождитесь запуска fiddler.

6) Наведите свой браузер на тестовые URL Fiddler:

Echo Service:  http://127.0.0.1:8888/
DNS Lookup:    http://www.localhost.fiddler:8888/

7) Добавьте Правила Fiddler, чтобы перехватить и отредактировать JavaScript  до достижения браузера/сервера. В Fiddler нажмите:    Rules > Customize Rules.... [Ctrl-R] ​​ Это запустит ScriptEditor.

8) Отредактируйте и добавьте следующие правила:


a) Чтобы приостановить JavaScript для редактирования, добавьте в функцию "OnBeforeResponse":

if (oSession.oResponse.headers.ExistsAndContains("Content-Type", "javascript")){
  oSession["x-breakresponse"]="reason is JScript"; 
}

b) Чтобы приостановить HTTP POST, чтобы разрешить редактирование при использовании команды POST, отредактируйте "OnBeforeRequest":

if (oSession.HTTPMethodIs("POST")){
  oSession["x-breakrequest"]="breaking for POST";
}

c) Чтобы приостановить запрос на редактирование XML файла, отредактируйте "OnBeforeRequest":

if (oSession.url.toLowerCase().indexOf(".xml")>-1){
  oSession["x-breakrequest"]="reason_XML"; 
}

[9] TODO: отредактируйте приведенный выше CustomRules.js, чтобы отключить (a-c).

10) Загрузка браузера теперь останавливается на каждом найденном JavaScript и отображает красную паузу   отметьте для каждого script. Чтобы продолжить загрузку страницы, вам нужно нажать   зеленую кнопку "Запуск до завершения" для каждого script. (Вот почему мы хотели бы   для реализации [9].)

Ответ 4

Я бы порекомендовал Firebug. Он может не только отлаживать JS в ваших JSP файлах, но и улучшать отладочную работу с такими дополнениями, как JS Deminifier (если ваша продукция JS минирована), FireQuery, FireRainbow и т.д.

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

Chrome в качестве встроенной консоли разработчика, которая позволит вам изменять javascript.

Используя эти инструменты, вы также сможете ввести свой собственный JS.