Ich habe eine Erweiterung, die eine Seite mit vielen Redirects in seiner Hintergrundseite laden muss. Sobald diese Seite eine bekannte URL erreicht (https://website.com/index.php), sollte der Iframe src
auf about:blank
gesetzt sein.Greifen Sie auf Iframe-URL von der Chrome-Erweiterung
Die letzte Seite ist recht groß und hat große Bilder und alles, was geladen werden, müssen nicht, so anstatt heften sich an die onload
Veranstaltung iframe, habe ich die folgende Funktion auf einem 100 ms Intervall:
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";
}
}
jedoch sobald die iframe zu laden beginnt, update() wirft diesen Fehler:
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.
ich fängt versucht(), dass Fehler ing, aber die Nachricht wenig überraschend auf Javascript zurückgeleitet beinhaltet nicht die URL . Die Seite wird mehrmals umgeleitet. Daher ist es wichtig, die genaue URL zu kennen. Die src
-Eigenschaft des iframe wird ebenfalls nicht aktualisiert, um Weiterleitungen anzuzeigen.