Могу ли я захватить данные JSON, которые уже отправляются с расширением userscript/Chrome?

Я пытаюсь написать расширение userscript/Chrome для захвата данных JSON, отправляемых при использовании веб-службы, чтобы я мог переформатировать его и отобразить выбранную часть на странице. В настоящее время JSON отправляется по мере загрузки приложения (как я заметил, наблюдая за трафиком с помощью Fiddler 2). Является ли мой единственный вариант снова запросить JSON или возможен захват? Поскольку я не привожу пример кода, запрошенный ответ является даже некоторым указанием на то, какой метод / тему исследовать, или если я лаю не по тому дереву.


person Anders H    schedule 13.04.2011    source источник
comment
Вы делаете это для одного конкретного сайта или хотите, чтобы он работал на всех сайтах?   -  person serg    schedule 14.04.2011
comment
Конкретный сайт, поэтому URL-адрес / имя JSON / и т. д. являются статическими.   -  person Anders H    schedule 14.04.2011


Ответы (1)


Нет простого пути.

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

Также можно попробовать сделать прокси для XMLHttpRequest. Не уверен, что это вообще возможно, никогда не видел рабочего примера. Вы можете посмотреть некоторые попытки здесь.

Для всех этих задач вам, вероятно, потребуется запустить код javascript из изолированного скрипта контента, чтобы получить доступ к переменным родительской страницы, поэтому вам нужно будет внедрить тег <script> с вашим кодом прямо на страницу из скрипта контента:

person serg    schedule 14.04.2011