Pytanie jest kontynuacją linku podanego poniżej.
Pobieranie kodu źródłowego bieżącej strony z rozszerzenia chrome
Najlepsza odpowiedź podana w powyższym adresie URL pobiera kod źródłowy obecnej karty. Ale to nie powoduje umieszczenia kodu źródłowego w ramkach iframe kodu źródłowego.
Jak uzyskać dostęp do kodu źródłowego całej strony, W TYM RAMY w rozszerzeniach chrome?
Odpowiedzi:
2 dla odpowiedzi № 1Posługiwać się allFrames: true
parametr z chrome.tabs.executeScript wstrzyknąć kod do wszystkich ramek. Funkcja zwrotna otrzyma tablicę z wynikami dla wszystkich ramek:
popup.js:
chrome.tabs.executeScript({
allFrames: true,
code: "JSON.stringify({
url: location.href,
html: document.documentElement.innerHTML
})"
}, function(results) {
if (chrome.runtime.lastError || !results || !results.length) {
console.log("Some error occurred", chrome.runtime.lastError);
} else {
results.forEach(function(str, index) {
var info = JSON.parse(str);
console.log("Frame #%d | %s | %s",
index, info.url, info.html.substr(0, 200) + "...");
});
}
});