Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2014, 14:37   #1
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию Всего одно обращение к серверу.

Ребят подскажите. Как достать исходный код страницы из <iframe>.
Как я понимаю при помощи php не реализовать такое...
Задача состоит в следующем.
Запускаем скрипт. В скрипте есть
Код HTML:
<iframe src="ссылка" width="100%" height="100%"></iframe>
Все, мы сделали одно обращение к серверу. Теперь необходимо достать исходный код той странице. Которую подгрузили через <iframe>.

Возможно ли такое? Как решить?

Код HTML:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>

<iframe id="iframe" src="ссылка" width="2%" height="2%"></iframe>


<script type="text/javascript">
   alert('$(#iframe).html()');
</script>

</head>
</html> 
Не выходит=(

Последний раз редактировалось Stilet; 06.03.2014 в 21:23.
Predator199 вне форума Ответить с цитированием
Старый 06.03.2014, 15:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
<iframe id="myframe" src="ссылка" width="100%" height="100%"></iframe>
И на событие загрузки фрейма (если такое есть) вешаем:
Код:
var frm=document.getElementbyId("myframe");
if(fm) alert(fm.innerHTML);
Не?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.03.2014, 15:22   #3
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
<iframe id="myframe" src="ссылка" width="100%" height="100%"></iframe>
И на событие загрузки фрейма (если такое есть) вешаем:
Код:
var frm=document.getElementbyId("myframe");
if(fm) alert(fm.innerHTML);
Не?

Что та я наверное не то делаю. Скрипт необходимо прописывать ведь после фрейма? Или в хед?

Код HTML:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>


<script type="text/javascript">
   
var frm=document.getElementbyId("myframe");
if(frm) alert(frm.innerHTML);
   
</script>

</head>

<iframe id="myframe" src="http://www.programmersforum.ru/" width="44%" height="44%"></iframe>



</head>
</html>
Не до не после, не получается=(

Код:
<iframe id="myframe" src="http://www.programmersforum.ru/" width="44%" height="44%"></iframe>
<script type="text/javascript"> 
  var frm=document.getElementById("myframe");
  alert(frm.innerHTML);
</script>
Исправил b на заглавную. Только вот все равно не работает, вернее не достает hnml страницы.

Быть может ответа от сервера необходимо подождать? Как решить?
Код:
echo '<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>


<iframe id="myframe" src="http://www.programmersforum.ru/" width="44%" height="44%"></iframe>

'.sleep(25).'

<script type="text/javascript"> 
  var frm=document.getElementById("myframe");
  if(frm) alert(frm.innerHTML);
</script>

</head>
</html>';
Так не получается=(

Последний раз редактировалось Stilet; 06.03.2014 в 21:27.
Predator199 вне форума Ответить с цитированием
Старый 06.03.2014, 16:17   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

где бы не прописывали скрипт, политика безопасности вам не даст.
http://javascript.ru/ajax/cross-domain-scripting
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.03.2014, 16:47   #5
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию

Как мне тогда быть? Какие еще есть варианты?
Можно ли как то совместить php и фрейм?

Последний раз редактировалось Predator199; 06.03.2014 в 16:51.
Predator199 вне форума Ответить с цитированием
Старый 06.03.2014, 16:54   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Predator199 Посмотреть сообщение
Как мне тогда быть? Какие еще есть варианты?
Можно ли как то совместить php и фрейм?
вам никто не мешает сервером запросить те данные что должны быть во фрейме.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.03.2014, 16:56   #7
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Если страница, которую вы грузить в iframe находится на другом домене/порте/протоколе, то никак. На уровне браузера это блокируется.

Можно пропускать страницы через свой прокси, на своем же домене, тогда реализация будет похожей на это
Код:
<iframe src="http://myproxy.com/?site=http://google.com"></iframe>
И у вас будет доступ к содержимому (прокси и клиентская страница должны быть на одном домене/протоколе/порту)
MaTBeu вне форума Ответить с цитированием
Старый 06.03.2014, 17:30   #8
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию

Я запрашиваю с другого домена. Точнее с сайта который стоит у меня на денвере. Мне необходимо получить html другой страницы , которая в свою очредь находится на другом домене. Вытащить из фрейма. Как решить, как обойти эту защиту?
Мне нужно только для себя. Может в браузере ,что та отключить можно?
Predator199 вне форума Ответить с цитированием
Старый 06.03.2014, 17:36   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Predator199 Посмотреть сообщение
Я запрашиваю с другого домена. Точнее с сайта который стоит у меня на денвере. Мне необходимо получить html другой страницы , которая в свою очредь находится на другом домене. Вытащить из фрейма. Как решить, как обойти эту защиту?
Мне нужно только для себя. Может в браузере ,что та отключить можно?
вам сказали же вариант.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.03.2014, 17:43   #10
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
вам сказали же вариант.
Я знаю, что мне никто не мешает. Мне нужно достать htmk страницы из фрема, а не просто запросить...

Я не знаю как свой прокси сделать и много ли на это времени уйдет?
Predator199 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение как к функции или обращение после опрд действия Gefo JavaScript, Ajax 5 04.02.2013 08:55
Обращение к DNS - серверу Mid1987 C/C++ Сетевое программирование 17 13.04.2012 19:55
Подключение к серверу Vinnipux PHP 5 29.10.2010 18:30
Подключение к серверу Artem Работа с сетью в Delphi 4 11.11.2007 09:27