19.12.2016, 13:32
|
Интересующийся
|
|
Регистрация: 19.12.2016
Сообщений: 11
|
|
Собрать ссылки на изображения из iframe
Собираю ссылки на изображения:
<script>
var nodeList = document.getElementsByTagName("img");
</script>
<div id="test"></div>
<script>
(function() {
elem = document.getElementById( 'test' ), i = -1;
return function() {
if ( ++i < nodeList.length ) {
elem.innerHTML = nodeList[ i ].src + '<br>' + elem.innerHTML;
setTimeout( arguments.callee, 2000 );
}
}();
})();
</script>
Этот код не тянет картинки с ифрейма(другой домен), а они нужны. Подскажите как пофиксить.
|
|
19.12.2016, 14:43
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Чужой и этим все сказано, нельзя. Шибко надо, значит сервером получать и использовать.
|
|
19.12.2016, 22:33
|
Интересующийся
|
|
Регистрация: 19.12.2016
Сообщений: 11
|
|
Сервером не выйдет. Линки на картинки динамические, нова сессия = новая картинка. А картинки нужно подменить. Какие варианты?
|
|
19.12.2016, 23:14
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от ff451000s
|
Линки на картинки динамические, нова сессия = новая картинка.
|
Ну да, то есть клиент работает посессионно, а сервер как шахтер безвылазно из забоя?
|
|
20.12.2016, 14:56
|
Интересующийся
|
|
Регистрация: 19.12.2016
Сообщений: 11
|
|
Возможно я недопонимаю. Кнечная цель, подмена картинок, которые отдаются клиенту на моем домене из чужого ифрейма. Для каждого нового клиента - новые ссылки на картинки. Я не вижу возможности спарсить их средствами сервера, не открыв так или иначе новую сессию. Если возможность есть, очень хотелось бы увидеть наброски.
|
|
20.12.2016, 15:24
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Клиент запрашивает вашу страницу, это что новая сессия или же продолжение ее просмотра от Рождества Христова? Естственно новая сессия. Какие проблемы при ее формировании запросить по url фрейма чужого домена получить его контент, взять ссылки изображений и поместить их на страницу?
Нельзя сделать это на клиенте, браузер блокирует доступ к ресурсу чужого домена.
|
|
20.12.2016, 18:51
|
Интересующийся
|
|
Регистрация: 19.12.2016
Сообщений: 11
|
|
Каждый новый запрос к ифрейму = новая сессия. Даже если текущий клиент перезагрузит ифрейм, ссылки изменятся. Не понял на счет запроса урл ифрейма именно при формировании сессии. Я могу представить сервер как новый клиент, но как сделать чтобы он получил идентичные с текущим клиентом ссылки не знаю. Как ни крути, с сервера нужно отправить новый запрос, и ответ придет отличный от того, что получил текущий клиент.
Последний раз редактировалось ff451000s, 20.12.2016 в 18:54.
|
|
20.12.2016, 19:03
|
Интересующийся
|
|
Регистрация: 19.12.2016
Сообщений: 11
|
|
Браузер блокирует доступ к ресурсу чужого домена только если это ифрейм, или доступ к скрипту:
<script async src="//domain.com/script.js"></script>
тоже нельзя получить?
|
|
20.12.2016, 19:12
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Вам чего надо - вывести изображения с какого-то ресурса на своей странице или вы уперлись во фрейм принципиально?
Не надо никаких фреймов - запрашивает клиент вашу страницу, сервер получает код страницы стороннего ресурса, парсит и забирает из нее ссылки (можно ли и как это сделать на сервере вопрос иной) и помещает на вашу страницу. И каждый такой запрос, это новый запрос за изображениями, и для каждого клиента. Чего не понятного то?
Последний раз редактировалось laimas, 20.12.2016 в 19:15.
|
|
21.12.2016, 08:16
|
Интересующийся
|
|
Регистрация: 19.12.2016
Сообщений: 11
|
|
Да, я понял о чем вы. Во фрейм принципиально. И еще несколько принципиальных моментов, которые с сервера не обойти никак. Если нельзя сделать средствами клиента, никаких вариантов.
|
|
|
|