Я создаю контекстное меню для своего расширения Chrome DevTools следующим образом:
var CONTEXT_MENU = chrome.contextMenus.create({
'title' : 'My Context Menu',
'contexts' : ['all'],
'onclick' : function (info, tab) {
alert(chrome.devtools); //[Object object]
alert(chrome.devtools.inspectedWindow) //crashes the extension
}
});
Идея заключается в том, что мое расширение кэширует некоторые данные в проверяемом окне (например, последний щелкнутый элемент DOM), и я хотел бы что-то сделать с этими данными, когда пользователь щелкает мое контекстное меню (а именно передать эти данные в мое расширение devtools панель).
Всякий раз, когда я пытаюсь получить доступ к свойству inspectedWindow из обработчика контекстного меню, мое расширение аварийно завершает работу. Это свойство защищено по какой-то причине? Как еще я могу добиться этого?
chrome.devtools.inspectedWindow
— это просто путь использования его методов и получения его атрибутов. То, что это нативный объект, не помогает догадаться о нем ни о чем другом. - person Pablo Lozano   schedule 20.03.2014chrome.devtools.*
API доступны только для страниц инструментов разработки. Даже если расширение не вылетит, вы не получите ничего полезного из API devtools с фоновой страницы, если только вы не будете передавать сообщения с/на страницу devtools и фон. - person Rob W   schedule 25.03.2014