2016-02-17 2 views
4

У меня есть веб-приложение, которое работает в 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:// (да !?) и тело документа пуст.

+0

У вас есть доступ к коду страницы, в которую перенаправляется окно? –

+0

Нет, все. У меня нет абсолютно никакого контроля над тем, что загружено в новое окно. –

+0

Исправить меня, если я ошибаюсь, но политика не того же происхождения определяется только сервером, а не клиентом? –

ответ

0

Проблема заключается в том, что если перемещение происходит не сразу после того, как можно сказать, что блокировка всплывающих окон по щелчку, предоставленная большинством браузеров, блокирует запрос, при успешном выполнении какой-либо функции, вы можете открыть модальную кнопку с помощью кнопки переместитесь по щелчку новой кнопки. Это единственный способ. Не здорово, но это будет трюк.

Это также относится к нагрузке.

+0

Я отключил блокировщик всплывающих окон, поэтому он не мешает. Обычно окно загружается просто отлично, за исключением случаев, связанных с переадресацией. –

 Смежные вопросы

  • Нет связанных вопросов^_^