Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.10.2010, 21:54
Новичок на форуме
Отправить личное сообщение для Stephanos Посмотреть профиль Найти все сообщения от Stephanos
 
Регистрация: 17.10.2010
Сообщений: 1

Iframe, извлечение информации из произвольной части сайта
Собсна...я нуб. Мне запретили дядьки из администрации писать в названии темы "Я нуб, нужен совет" вот...пишу тут.
Собсна. Прошу помогите.

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


Надеюсь, моё "художество" вам поможет) На самом деле я рисую намного лучше, сам понять не могу...почему такое убожество получилось)

Мне ответили:
"
Насчёт "места, куда должна вставляться информация с др. сайта", есть тег <IFRAME>
Насчёт "места, информация из которого должна переноситься", это может быть реализовано с помощью php или javaScript-a. Т.е. страницу, на, которой находится нужный блок информации, нужно обработать, найти на ней нужный фрагмент, блок информации и затем вывести его в качестве элемента вашей страницы. "

Но я же нуб)
Помогите, мне, пожалуйста. Дайте код с подробным описанием...ПОЖААААЛУЙСТА.:h elp:
Ответить с цитированием
  #2 (permalink)  
Старый 19.10.2010, 00:05
Новичок на форуме
Отправить личное сообщение для sp00n Посмотреть профиль Найти все сообщения от sp00n
 
Регистрация: 01.09.2010
Сообщений: 3

на данном форуме я конечно новичок, и наверное мой пост будут критиковать, но я все же рискну.

во-первых попробуй поменьше употреблять "паразитов" (собсна, собственно) просто не приятно читать, хотя и не кретично, но встречают по одежке.

во-вторых (и главное) форумы такого рода, существуют для того, что бы помогать людям, а не делать за них работу (для этого тут есть другая ветка)

в-третих, ИМХО такие задачи лучше решать на стороне сервера, зачем грузить клиента, кроме того, javascript должен помогать пользователю, и при возможности страница должна работать и без него, а если ты скриптом будешь вытаскивать данные с другого сайта, то твоя страница без JS работать не будет, что есть плохо.
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2011, 04:06
Новичок на форуме
Отправить личное сообщение для adovgun Посмотреть профиль Найти все сообщения от adovgun
 
Регистрация: 20.01.2011
Сообщений: 1

Уважаемый sp00n многие из нас на разных форумах новички по разным причинам, кто то никогда на них не регистрировался, кто то и в правду новичок... Но суть не в этом, человек четко расписал с какой задачей он столкнулся, и незачем здесь расписывать во первое, во второе... и так далее если вы по существу не ответили на вопрос.

Ситуация довольно проста (как описывал коллега по задаче):
Нужно считать определенную часть сайта и показать ее в определенной части другого сайта к которому мы имеем доступ и можем изменить НТМЛ (собственно код). Собственно все мы умеем использовать ифрейм но вот как заставить этот ифрейм вывести например блок информации :

margin-left: 300px; - вот как сделать такой отступ !??
margint-top: 150px;

width:400px; - это мы легко делаем в параметрах Ифрейма
height:200px;

И нефег здесь спамить не по теме и давать ссылки на глаыную ветку форума или расказывать что мол если без ДЖАВА то плохо, вы знаете на данный момент хоть один браузер что не поддерживает ДЖАВА, и какой процент посетителей вашего сайта отключает ДДЖАВУ ?:??
Ответить с цитированием
  #4 (permalink)  
Старый 02.04.2012, 12:07
Аватар для VelMizar
Новичок на форуме
Отправить личное сообщение для VelMizar Посмотреть профиль Найти все сообщения от VelMizar
 
Регистрация: 02.04.2012
Сообщений: 8

Тут есть небольшое решение:
Ну честно говоря не могу в этом розчехлится:

<div id="newbox" style="width:400px; height:200px; overflow:scroll; border:1px solid red;">Переносимо сюда</div>
<div id="framebox">Завантажений код</div>
<script type='text/javascript'>
var framebox, id="wrapper", frame, framedoc, obj, newbox,
timerID=null, interval=1000, i=0, maxi=9, page="http://telepuzik.ru",
h="<h3>Фрагмент элемента со страницы "+page+"</h3>";

function getIframeDocument(iframeNode)
    {
	    if (iframeNode.contentDocument) return iframeNode.contentDocument
	    if (iframeNode.contentWindow) return iframeNode.contentWindow.document
	    return iframeNode.document
    }



function create_frame(str) 
 {
  framebox=document.getElementById("framebox");
  framebox.innerHTML="<iframe name='t' id='t' src='"+str+"'></iframe>";
  newbox=document.getElementById("newbox");
 }


function get_frame_doc() 
{
 if (obj || i>maxi){
  clearInterval(timerID);
  get_text();
  return;
         }
 frame=document.getElementById("t");
 framedoc=(frame.contentWindow && frame.contentWindow.document) || frame.contentDocument || frame.document;
 obj=framedoc && frame.getElementsByTagName('table')[1];
 i++;
}


function get_text() {	
 if (obj && obj.hasChildNodes() && obj.childNodes[1] && obj.item(1)) {
  newbox.innerHTML = h + (obj.childNodes[1] && obj.childNodes[1].innerHTML);
  framebox.innerHTML="#####";
    }
 else return alert("Не удалось получить Объект за "+(i-1)*interval+" мс!");
}


create_frame(page);
timerID=setInterval(get_frame_doc, interval);
setTimeout(function() {
					var ifram_1=document.getElementById("framebox").getElementsByTagName("iframe")[0];
					var q=getIframeDocument(ifram_1);
					alert("innerHTML kod ### ="+q.innerHTML);
					} , 5000); 

</script>


Почему тут alert("innerHTML kod ### ="+q.innerHTML) - не показывает код загруженной странички в iframe? Помогите!

Последний раз редактировалось VelMizar, 02.04.2012 в 14:50.
Ответить с цитированием
  #5 (permalink)  
Старый 04.04.2012, 19:52
Аватар для VelMizar
Новичок на форуме
Отправить личное сообщение для VelMizar Посмотреть профиль Найти все сообщения от VelMizar
 
Регистрация: 02.04.2012
Сообщений: 8

А правда, что просто нету доступа... - связанно с проблемой безопасности. Можно только в пределах одного домена!?
Ответить с цитированием
  #6 (permalink)  
Старый 04.04.2012, 21:23
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

да, но в интернете, на сайте Yahoo, есть такая возможность, взаимодействовать не со своими сайтами посредством API Yahoo.

Вот один из примеров взаимодействия с YQL:

тырим код страницы ucoz.ru :
HELLO WORLD !!!!!!
...


<script>
function clb(data){ 
     document.body.innerHTML += data.results[0].replace(/\/{2}(?:\]\]>)|(?:<!\[CDATA\[)/g, '');
}
</script>

<script src="http://query.yahooapis.com/v1/public/yql?q=%20SELECT%20*%20FROM%20html%20WHERE%20url%3D%22http%3A%2F%2Fucoz.ru%2F%22%20%20&format=xml&callback=clb"></script>


попрактикуйтесь в консоли
Ответить с цитированием
  #7 (permalink)  
Старый 05.04.2012, 21:39
Аватар для VelMizar
Новичок на форуме
Отправить личное сообщение для VelMizar Посмотреть профиль Найти все сообщения от VelMizar
 
Регистрация: 02.04.2012
Сообщений: 8


Спасибо... Интересно... Я , что такое есть, и не знал... Грузится правда долго...
Ответить с цитированием
  #8 (permalink)  
Старый 05.04.2012, 21:47
Аватар для VelMizar
Новичок на форуме
Отправить личное сообщение для VelMizar Посмотреть профиль Найти все сообщения от VelMizar
 
Регистрация: 02.04.2012
Сообщений: 8


Но было б лучше чтоб javascript работал... Ибо интересует больше не сам код как таковой, а код, что загрузится именно в мой скрытый iframe. там есть маленькая разница..
Ответить с цитированием
  #9 (permalink)  
Старый 14.04.2012, 02:00
Аватар для w46823
Аспирант
Отправить личное сообщение для w46823 Посмотреть профиль Найти все сообщения от w46823
 
Регистрация: 28.03.2012
Сообщений: 36

Может просто попробуйте <?php include...?> ?
Ответить с цитированием
  #10 (permalink)  
Старый 15.04.2012, 19:16
Аспирант
Отправить личное сообщение для Le-mark43 Посмотреть профиль Найти все сообщения от Le-mark43
 
Регистрация: 08.02.2012
Сообщений: 34

вот интересно, а параметры вставляемого из другого сайта объекта заранее известны? ну там id Diva например...
фиг знает, но как вариант:
Сообщение от w46823 Посмотреть сообщение
<?php include...?>[/b] ?
с абсолютным адресом страницы. (наверное не кроссдоменно).
инклудить соответственно в <div style='visibility:hidden'> и в нём уже искать див, который надо клонировать.

либо, через невидимый iframe:
var temp = top.nameFrame.document.getElementById('нужны div').innerHTML; //забираем
document.getElementById('div куда вставляем').innerHTML = temp;//вставляем

Последний раз редактировалось Le-mark43, 15.04.2012 в 19:20.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение центральной части сайта в браузере rummer Events/DOM/Window 4 20.08.2009 13:17