Как я могу получить журнал консоли текущего веб-сайта, открытого в iframe или на странице, с помощью расширений Chrome
Как я могу получить журналы консоли текущего веб-сайта, открытого в iframe или странице, с использованием расширений Chrome, я использую для этого протокол отладчика Chrome, но я могу вычислить журналы
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
console.log("tabs--->", tabs);
console.log("tabs[0].id", tabs[0].id);
chrome.debugger.attach({ tabId: tabs[0].id }, "1.1", () => {
if (chrome.runtime.lastError) {
console.log("runtime.lastError", chrome.runtime.lastError.message);
return;
}
console.log("Debugger attached");
});
chrome.debugger.sendCommand({ tabId: tabs[0].id }, "Console.enable", () => {
if (chrome.runtime.lastError) {
console.log("runtime.lastError", chrome.runtime.lastError.message);
return;
}
console.log("Log enabled and result");
});
const config = {
source: "javascript",
level: "log",
text: "console.log('hello world')",
};
chrome.debugger.sendCommand({ tabId: tabs[0].id }, "Console.ConsoleMessage", config, () => {
if (chrome.runtime.lastError) {
console.log("runtime.lastError", chrome.runtime.lastError.message);
return;
}
console.log("Log enabled and result");
});
});
Я пробовал этот код выше, он выдает ошибку
Console.ConsoleMessage
не найден
1 ответ
Чтобы получить все журналы
chrome.debugger.getTargets((result) => console.log(result) )
Здесь мы добавляем прослушиватель событий
chrome.debugger.onEvent.addListener(onEvent);
chrome.tabs.query предоставит вам текущую вкладку. Чтобы включить журналы, мы должны отправить команду Log.enable
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
// you can even attach tabId or targetId
chrome.debugger.attach(
{ targetId: "FC33D8084B688E98F5929B90326E3A27" },
"1.3",
() => {
if (chrome.runtime.lastError) {
console.log("runtime.lastError", chrome.runtime.lastError.message);
return;
}
console.log("Debugger attached");
}
);
chrome.debugger.sendCommand(
{ targetId: "FC33D8084B688E98F5929B90326E3A27" },
"Log.enable",
() => {
if (chrome.runtime.lastError) {
console.log("runtime.lastError", chrome.runtime.lastError.message);
return;
}
console.log("Log enabled and result");
}
);
});
function onEvent(debuggeeId, message, params) {
// Here you can get the logs
console.log("params", params);
}