Я пытаюсь создать расширение, чтобы показать запросы страницы как дерево, используя chrome.debugger. Я хотел бы иметь возможность назначить в качестве родителя динамического iframe, скрипта, который его создал, вместо рамки, где он находится. Чтобы сделать это, я думаю, мне нужно будет вставить точку останова DOM, используя домен DOMDebugger протокола отладки Chrome, но я не могу найти какой-либо пример того, как использовать метод setEventListenerBreakpoint.Расширение Chrome: обнаружение скрипта, созданного iframe
С помощью следующего кода:
chrome.debugger.sendCommand(
{tabId:currentTabId},'DOMDebugger.setEventListenerBreakpoint',{eventName:'subtree-modified'},function(a){
console.dir(arguments);
});
обратного вызова вызывается только один раз, с пустой объект в качестве аргумента.
Как использовать setEventListenerBreakpoint?
Не знаете об этом поле, но, может быть, 'Debugger.enable' необходимо? http://stackoverflow.com/questions/25764336/chrome-extension-domdebugger-api-does-not-work-anymore –
Как правило, вы можете видеть команды, отправленные отладчиком во время выполнения действия, о котором идет речь, вручную, следуя процедура, описанная в документации https://developer.chrome.com/devtools/docs/debugger-protocol – wOxxOm
Хороший совет, @wOxxOm ..Сохраняя протокол, я смог узнать правильную функцию, которую мне нужно будет использовать (setDOMBreakpoint), и для этого требуется получить идентификатор корневого узла (DOM.getDocument) и прослушивать события с изменением поддерева. Проблема в том, что это событие не указывает, какая фактическая модификация произошла, или какой идентификатор узла был вставлен в документ, поэтому у меня нет способа узнать, был ли он iframe или что-то еще. Итак, я думаю, что просто невозможно сделать то, что я искал. – Trashie