Доступ к текущей странице в iframe

zaxap83

Постоялец
Регистрация
6 Дек 2010
Сообщения
93
Реакции
29
Нужно всего навсего получить ссылку на страницу в iframe, на которой находится пользователь, вроде все просто. Так я думал сначала, в итоге это "просто" для меня когда-то обернулось целым кошмаром, т.к. страница во фрейме с другого домена, а без доступа к ней весть проект терял смысл. Средствами javascript данную проблему не решить и я тогда выкрутился с помощью прокси (php/perl, несколько разных, в зависимости от сайта, где какой лучше работал), но сайтов больше сотни и множество из них просто отказываются работать корректно через прокси, а те что работают, делают это довольно медленно, т.к. моему серверу нужно сначала скачать страницу, потом только выдать ее пользователю. Так вот собственно вопрос - есть ли какая либо альтернатива javascript в данном случае? Может быть можно решить мою проблему, т.е. отказаться от прокси и использовать обычный iframe и выуживать линк с помощью flash/java/дополнений к браузерам (chrome/ff/opera)? Если дополнения способны обойти ограничение браузера на получение линка из iframe, то подскажите как.
 
Последнее редактирование:
Что то не совсем ясна суть проблемы но получить массив фреймов на странице на сколько я знаю можно из массива frames
а что б получить доступ к основному окну используйте top
таким образом top.frames[0] даст Вам ссылку на первый фрейм
 
Что то не совсем ясна суть проблемы но получить массив фреймов на странице на сколько я знаю можно из массива frames
а что б получить доступ к основному окну используйте top
таким образом top.frames[0] даст Вам ссылку на первый фрейм
Проблема в том, что во фрейм грузится другой домен и доступа к содержимому не получить из-за политики безопасности браузера. Поправил первый пост.
 
Последнее редактирование:
Нужно всего навсего получить ссылку на страницу в iframe, на которой находится пользователь, вроде все просто. Так я думал сначала, в итоге это "просто" для меня когда-то обернулось целым кошмаром, т.к. страница во фрейме с другого домена, а без доступа к ней весть проект терял смысл. Средствами javascript данную проблему не решить и я тогда выкрутился с помощью прокси (php/perl, несколько разных, в зависимости от сайта, где какой лучше работал), но сайтов больше сотни и множество из них просто отказываются работать корректно через прокси, а те что работают, делают это довольно медленно, т.к. моему серверу нужно сначала скачать страницу, потом только выдать ее пользователю. Так вот собственно вопрос - есть ли какая либо альтернатива javascript в данном случае? Может быть можно решить мою проблему, т.е. отказаться от прокси и использовать обычный iframe и выуживать линк с помощью flash/java/дополнений к браузерам (chrome/ff/opera)? Если дополнения способны обойти ограничение браузера на получение линка из iframe, то подскажите как.
Можно сделать скрипт-парсер на том же домене. Этот парсер будет полностью загружать в себя нужный сайт с другого домена. Но делать он это будет по урлу переданному в параметре. Все ссылки придется заменять во время парсинга на адрес твоего скрипта с нужным адресом сайта в параметре, чтобы скрипт не ушел на другой домен. Потом через джаваскрипт просто читаешь текущий урл айфрейма с парсером и вычленяешь из него параметр с адресом сайта.
 
Можно сделать скрипт-парсер на том же домене. Этот парсер будет полностью загружать в себя нужный сайт с другого домена. Но делать он это будет по урлу переданному в параметре. Все ссылки придется заменять во время парсинга на адрес твоего скрипта с нужным адресом сайта в параметре, чтобы скрипт не ушел на другой домен. Потом через джаваскрипт просто читаешь текущий урл айфрейма с парсером и вычленяешь из него параметр с адресом сайта.
Угу, называется это web прокси (еще раз мой первый пост прочтите), примерно таким образом сейчас и работает. Мне нужно от этого как-то уйти, чтоб в iframe грузился оригинальный сайт, без всякой предварительной обработки, потому как многие сайты сейчас просто под завязку напиханы js/ajax и работать корректно через прокси просто не могут, под каждый нужно лепить костыль и то, если получится, а таких сайтов сотня.
Суть вопроса - могут ли какие либо плагины/дополнения (дополнения для браузеров, java, flash, что угодно) обходить данное ограничение политики безопасности браузера?
 
Тоже актуальный вопрос. Пытался найти хоть какой нибудь мало-мальски готовый скрипт и ничего не нашел.
 
Везде в js, во фрейме и основном файле пропиши:
Код:
document.domain = 'http://website.ru';
Укажи для всех фреймов, принадлежность одному домену.
 
Везде в js, во фрейме и основном файле пропиши:
Код:
document.domain = 'http://website.ru';
Укажи для всех фреймов, принадлежность одному домену.
Любопытно, а как же это сделать во фрейме?
 
Любопытно, а как же это сделать во фрейме?
Согласно политики безопасности для управления контентом "родственного домена" - этот домен должен у себя прописать в коде
document.domain = "ваш урл"
В самых ранних версиях Js этого не нужно было делать.
Вашей темой, ТС, я давно интересовался, но так пока и не нашёл ответа.
Исключения могут быть если сайт который надо во фрейме выдавать и управлять "как-то" - во флеше, тогда через исходник парсить и выдавать (потому как декодеры флеша имеются и политика там немного другая)
 
Согласно политики безопасности для управления контентом "родственного домена" - этот домен должен у себя прописать в коде
document.domain = "ваш урл"
В самых ранних версиях Js этого не нужно было делать.
Вашей темой, ТС, я давно интересовался, но так пока и не нашёл ответа.
Исключения могут быть если сайт который надо во фрейме выдавать и управлять "как-то" - во флеше, тогда через исходник парсить и выдавать (потому как декодеры флеша имеются и политика там немного другая)
Похоже решения нет в принципе, кроме прокси, которое меня не устраивает.
Для себя нашел выход - отказ от iframe и написание дополнений для браузеров, чтоб человек установил дополнение и у него всегда была возможность на одном из сайтов из списка передать нужную информацию на мой сайт, в моем случае это просто текущая страница пользователя на сайте и скриншот. Только опыта в написании дополнений 0, придется много курить мануалов, благо с js проблем нет.
 
Назад
Сверху