У меня есть расширение, которому необходимо загрузить страницу с большим количеством переадресаций на своей фоновой странице. После того, как эта страница попадет на известный URL-адрес (https://website.com/index.php), iframe должен иметь свой src
, установленный в about:blank
.Доступ к URL-адресу iframe из расширения Chrome
Последняя страница является довольно большой и имеет большие изображения и все, что не должны быть загружены, поэтому вместо того, прикрепляются к onload
событию Iframe, я установить следующую функцию на 100мс интервала:
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";
}
}
Однако, как только IFrame начинает загружать, обновлять() выдает эту ошибку:
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.
Я попытался поймать() ИНГ эту ошибку, но сообщение передается обратно Javascript Unsurprisingly не включает в себя URL , Страница перенаправляется несколько раз, поэтому важно знать точный URL. Свойство iframe src
также не обновляется, чтобы отражать перенаправления.