Mam rozszerzenie, które musi załadować stronę z dużą liczbą przekierowań na jej stronie w tle. Po przejściu do znanego adresu URL (https://website.com/index.php) element iframe powinien mieć wartość src
ustawioną na about:blank
.Adres URL elementu iframe z rozszerzenia Chrome
Na ostatniej stronie jest dość duży i ma wielkie obrazy i wszystko, co nie muszą być ładowane, więc zamiast dołączyć do iframe onload
razie ustawić następujące funkcje na 100ms przedziale:
function update(){
if(document.getElementsByTagName('iframe')[0].contentDocument.location.href == "https://website.com/index.php"){
console.log("Done!");
clearInterval(updateInterval);
document.getElementsByTagName('iframe')[0].src = "about:blank";
}
}
jednak jak tylko iframe zaczyna ładować, update() generuje ten błąd:
Unsafe JavaScript attempt to access frame with URL https://website.com/index.php from frame with URL chrome-extension://hdmnoclbamhajcoblymcnloeoedkhfon/background.html. The frame requesting access has a protocol of 'chrome-extension', the frame being accessed has a protocol of 'https'. Protocols must match.
próbowałem złapać() ing tego błędu, ale wiadomość przekazywana z powrotem JavaScript zaskoczeniem nie zawiera adres URL . Strona przekierowuje wiele razy, dlatego ważne jest, aby znać dokładny adres URL. Właściwość iframe o wartości src
również nie jest aktualizowana w celu odzwierciedlenia przekierowań.