У меня есть веб-приложение, которое работает в Chrome с одинаковой политикой происхождения, отключено (т. Е. --disable-web-security
). Я использую window.open()
для создания нового окна, которое загружает URI, который иногда перенаправляется. Если переадресация не происходит, я могу прочитать содержимое документа, размещенного внутри окна, используя свойство document
при возникновении события onload
. К сожалению, в случаях, когда происходит перенаправление, кажется, что onload
никогда не срабатывает, а объект окна, возвращенный с window.open()
, больше не является полезным.Получение содержимого из окна window.open() 'после перенаправления
Вот код, чтобы дать вам представление о том, что происходит:
var win = window.open('http://somewhere');
win.onload = function() {
doStuffWith(win.document.body);
win.close();
};
Есть ли способ, что я могу держать на действительную window
ручки, даже если редирект происходит сразу после того, как новое окно открыт?
Per @ предложение CBroe, я продлил свой код, чтобы увидеть, если я могу получить на содержимое окна, если я немного подождать. После приведенного выше кода, я добавил:
setTimeout(function() {
console.log(win.location);
doStuffWith(win.document.body);
}, 5000);
location
сообщается как swappedout://
(да !?) и тело документа пуст.
У вас есть доступ к коду страницы, в которую перенаправляется окно? –
Нет, все. У меня нет абсолютно никакого контроля над тем, что загружено в новое окно. –
Исправить меня, если я ошибаюсь, но политика не того же происхождения определяется только сервером, а не клиентом? –