Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как получить данные с другой страницы и вывести их (https://javascript.ru/forum/events/65923-kak-poluchit-dannye-s-drugojj-stranicy-i-vyvesti-ikh.html)

zpank 16.11.2016 01:04

Как получить данные с другой страницы и вывести их
 
У меня есть форум на сайте http://lark.lark.ru/forum.lm я хочу с помощью js вывести 5 последних тем на главную страницу. Вот есть код вывода сообщений из чата http://lark.lark.ru/uchat.lm

function getXmlHttp(){
var xmlhttpchat, domain, chat, chname, chtime, chmsg ;
try {xmlhttpchat = new ActiveXObject("Msxml2.XMLHTTP");} 
catch (e) {try {xmlhttpchat = new ActiveXObject("Microsoft.XMLHTTP");} catch (E) {xmlhttpchat = false;}}
if (!xmlhttpchat && typeof XMLHttpRequest!='undefined') {xmlhttpchat = new XMLHttpRequest();}
return xmlhttpchat;
}
xmlhttpchat = getXmlHttp()
xmlhttpchat.open('GET', '/uchat.lm', true);
xmlhttpchat.send(null);
xmlhttpchat.onreadystatechange = function() {
if (xmlhttpchat.readyState == 4) {		
if (xmlhttpchat.status == 200) {
chat = xmlhttpchat.responseText;
domain = 'http://'+window.location.hostname;

chat = chat.replace(domain, '');
chat = chat.substr(chat.indexOf("chat_nick"), chat.length);
chat = chat.substr(chat.indexOf("to")+3, chat.length);

if (chat.indexOf("chat_msg") == -1) {
document.getElementById('chname').innerHTML = 'В Чате еще нет ни одного сообщения.';
}
else {
chname = chat.substr(0, chat.indexOf("amp")-1);

chtime = chat.substr(chat.indexOf("</a>")+5, 5);

chmsg = chat.substr(chat.indexOf("</span>")+9, chat.length);
chmsg = chmsg.substr(0, chmsg.indexOf("</div>"));

document.getElementById('chname').innerHTML = ''+chname+'';
document.getElementById('chtime').innerHTML = ''+chtime+'';
document.getElementById('chmsg').innerHTML = ''+chmsg+'';
}
}}};


Так же могу вывести из гостевой http://lark.lark.ru/gb.lm

function getXmlHttp(){
var xmlhttpgbln, domain, gb, gname, gtime, gdate, gtext ;
try {xmlhttpgbln = new ActiveXObject("Msxml2.XMLHTTP");} 
catch (e) {try {xmlhttpgbln = new ActiveXObject("Microsoft.XMLHTTP");} catch (E) {xmlhttpgbln = false;}}
if (!xmlhttpgbln && typeof XMLHttpRequest!='undefined') {xmlhttpgbln = new XMLHttpRequest();}
return xmlhttpgbln;
}
xmlhttpgbln = getXmlHttp()
xmlhttpgbln.open('GET', '/gb.lm', true);
xmlhttpgbln.send(null);
xmlhttpgbln.onreadystatechange = function() {
if (xmlhttpgbln.readyState == 4) {		
if (xmlhttpgbln.status == 200) {
gb = xmlhttpgbln.responseText;
domain = 'http://'+window.location.hostname;
gb = gb.replace(domain, '');
gb = gb.replace(/почта/gi, '');
gb = gb.replace(/-добавить/i, '');

if (gb.indexOf("gb_msg") == -1) {
document.getElementById('gbname').innerHTML = 'В Гостевой книге еще нет ни одной записи.';
}
else {
gname = gb.substr(gb.indexOf("name")+6, 45);
gname = gname.substr(0, gname.indexOf("</span>"));

gtime = gb.substr(gb.indexOf("date")+6, gb.length);
gtime = gtime.substr(0, 8);

gdate = gb.substr(gb.indexOf("date")+6, gb.length);
gdate = gdate.substr(gdate.indexOf(",")+2, gb.length);
gdate = gdate.substr(0, gdate.indexOf("</span>"));

gtext = gb.substr(gb.indexOf("date")+34, gb.length);
gtext = gtext.substr(0, gtext.indexOf("</div>"));


document.getElementById('gbname').innerHTML = ''+gname+'';
document.getElementById('gbtime').innerHTML = ''+gtime+'';
document.getElementById('gbdate').innerHTML = ''+gdate+'';
document.getElementById('gbmsg').innerHTML = ''+gtext+'';
}
}}};

Я вывожу имя пользователя,время,дату и само сообщение.
На нужной странице подключаются скрипт и пишу
<div>
<font id="gbname"></font> <font id="gbdate"></font>, <font id="gbtime"></font>
<div>
<font id="gbmsg"></font>
</div>
</div>
Помогите сделать тоже самое с форумом

zpank 16.11.2016 01:07

Т.е мне нужно получить 5 последних тем из разных категорий. Выглядеть должно так:

[Название темы][дата][время]
[Текст темы]

kingofparty 24.11.2016 22:13

http://lark.lark.ru/forum.lm не проще выводить в JSON формате? Далее распарсить
покажите вариант как сделали вы


Часовой пояс GMT +3, время: 07:44.