Как инструменты разработчика Google Chrome получают доступ к свойству "text" тега <script>, когда содержимое было загружено с использованием атрибута src? - PullRequest
2 голосов
/ 06 июля 2011

Я отлаживаю какое-то стороннее приложение и хотел бы динамически перезагружать / заменять часть содержимого тегов, однако с помощью свойств проверки, таких как innerHTML, не установлены, и я не вижу ничего из консоли разработчика javascript, которая быпредложить свойство метода, чтобы получить содержимое JavaScript.Файл является динамическим, поэтому повторная загрузка файла не подходит в этом случае.

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

Как мне получить содержимое файла, указанного как 'src' тега ?

ОднакоЯ вижу, что Google Chrome может проверять загруженный исходный контент тега script в консоли разработчика, вот скриншот;source inspection

Есть идеи, как это сделать?Я счастлив использовать google chrome devtools или какое-то конкретное расширение для платформы / браузера, поскольку я просто использую это для отладки.

Я предполагаю, что он обращается к некоторому локальному кешу загруженного src, но я также ожидал быэтот файл или значение кэша можно проверить из Google Chrome ...?

Ответы [ 3 ]

2 голосов
/ 10 июля 2011

DevTools глубоко интегрированы в браузер и делают это с помощью кода C ++ в WebCore.В вашем случае DevTools просто получит уведомление, когда браузер отправит запрос, получит ответ, получит данные и т. Д.

Chrome DevTools AKA Safari Web Inspector состоит из двух частей.Backend (~ 26kloc кода C ++) и Frontend (55kloc кода js).

API между WebCore и DevTools можно увидеть на InspectorInstrumentation.h .

Также есть API между Backend-частью DevTools и Frontend-частью DevTools.Это описано в Inspector.json .Вы можете использовать этот API и написать свой собственный Frontend или реализовать расширение, которое делает что-то с помощью бэкэнда DevTools.

Документы на странице документации проекта .Последнее видео о проекте на Google IO 2011.

1 голос
/ 06 июля 2011

@ cwallenpoole рассказывает, как получить код js .. просто откройте его в браузере и, если он минимизирован, просто включите (скопируйте содержимое файла js) его в тег сценария в html doc, перейдите в инструменты chrome dev, откройте панель скриптов и перейдите к скопированному исходному тексту скрипта, нажмите фигурные скобки в нижней панели инструментов разработчика и увидите магию :)

0 голосов
/ 06 июля 2011

Вы можете получить источник любого файла JavaScript, просто перейдя по этому URL - это один из StackOverflow: http://cdn.sstatic.net/js/stub.js?v=845b73ac2eff

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...