17.10.2010, 21:54
|
Новичок на форуме
|
|
Регистрация: 17.10.2010
Сообщений: 1
|
|
Iframe, извлечение информации из произвольной части сайта
Собсна...я нуб. Мне запретили дядьки из администрации писать в названии темы "Я нуб, нужен совет" вот...пишу тут.
Собсна. Прошу помогите.
Собственно, как сделать так чтобы часть информации одного сайта появилась на другом.
Я имею в виду, взять кусок информации с одного сайта и переместить его на другой, причем тот кусок информации, который мне нужен, находится не по краям страницы, и даже не совсем в центре. Прошу помогите, если непонятно, вот, накалякал быстренько:
Надеюсь, моё "художество" вам поможет) На самом деле я рисую намного лучше, сам понять не могу...почему такое убожество получилось)
Мне ответили:
"
Насчёт "места, куда должна вставляться информация с др. сайта", есть тег <IFRAME>
Насчёт "места, информация из которого должна переноситься", это может быть реализовано с помощью php или javaScript-a. Т.е. страницу, на, которой находится нужный блок информации, нужно обработать, найти на ней нужный фрагмент, блок информации и затем вывести его в качестве элемента вашей страницы. "
Но я же нуб)
Помогите, мне, пожалуйста. Дайте код с подробным описанием...ПОЖААААЛУЙСТА.:h elp:
|
|
19.10.2010, 00:05
|
Новичок на форуме
|
|
Регистрация: 01.09.2010
Сообщений: 3
|
|
на данном форуме я конечно новичок, и наверное мой пост будут критиковать, но я все же рискну.
во-первых попробуй поменьше употреблять "паразитов" (собсна, собственно) просто не приятно читать, хотя и не кретично, но встречают по одежке.
во-вторых (и главное) форумы такого рода, существуют для того, что бы помогать людям, а не делать за них работу (для этого тут есть другая ветка)
в-третих, ИМХО такие задачи лучше решать на стороне сервера, зачем грузить клиента, кроме того, javascript должен помогать пользователю, и при возможности страница должна работать и без него, а если ты скриптом будешь вытаскивать данные с другого сайта, то твоя страница без JS работать не будет, что есть плохо.
|
|
20.01.2011, 04:06
|
Новичок на форуме
|
|
Регистрация: 20.01.2011
Сообщений: 1
|
|
Уважаемый sp00n многие из нас на разных форумах новички по разным причинам, кто то никогда на них не регистрировался, кто то и в правду новичок... Но суть не в этом, человек четко расписал с какой задачей он столкнулся, и незачем здесь расписывать во первое, во второе... и так далее если вы по существу не ответили на вопрос.
Ситуация довольно проста (как описывал коллега по задаче):
Нужно считать определенную часть сайта и показать ее в определенной части другого сайта к которому мы имеем доступ и можем изменить НТМЛ (собственно код). Собственно все мы умеем использовать ифрейм но вот как заставить этот ифрейм вывести например блок информации :
margin-left: 300px; - вот как сделать такой отступ !??
margint-top: 150px;
width:400px; - это мы легко делаем в параметрах Ифрейма
height:200px;
И нефег здесь спамить не по теме и давать ссылки на глаыную ветку форума или расказывать что мол если без ДЖАВА то плохо, вы знаете на данный момент хоть один браузер что не поддерживает ДЖАВА, и какой процент посетителей вашего сайта отключает ДДЖАВУ ?:??
|
|
02.04.2012, 12:07
|
|
Новичок на форуме
|
|
Регистрация: 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.
|
|
04.04.2012, 19:52
|
|
Новичок на форуме
|
|
Регистрация: 02.04.2012
Сообщений: 8
|
|
А правда, что просто нету доступа... - связанно с проблемой безопасности. Можно только в пределах одного домена!?
|
|
04.04.2012, 21:23
|
sinistral
|
|
Регистрация: 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>
попрактикуйтесь в консоли
|
|
05.04.2012, 21:39
|
|
Новичок на форуме
|
|
Регистрация: 02.04.2012
Сообщений: 8
|
|
Спасибо... Интересно... Я , что такое есть, и не знал... Грузится правда долго...
|
|
05.04.2012, 21:47
|
|
Новичок на форуме
|
|
Регистрация: 02.04.2012
Сообщений: 8
|
|
Но было б лучше чтоб javascript работал... Ибо интересует больше не сам код как таковой, а код, что загрузится именно в мой скрытый iframe. там есть маленькая разница..
|
|
14.04.2012, 02:00
|
|
Аспирант
|
|
Регистрация: 28.03.2012
Сообщений: 36
|
|
Может просто попробуйте <?php include...?> ?
|
|
15.04.2012, 19:16
|
Аспирант
|
|
Регистрация: 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.
|
|
|
|