Как вытащить текст из Div на внешней странице с помощью JavaScript? - PullRequest
0 голосов
/ 29 января 2012

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

моя внешняя страница

<div id="boundry2"> <h5> <div class="title"> Title: </div> <div class="date"> Date </div> </h5> Article text <br/> </div>

мой тикер

<a href="#"> <div id="myhtmlticker" class="tickerstyle"> <div class="messagediv"> Text from title </div> <div class="messagediv">Text from title </div> </div> </a>

мой тикер ссылается на внешний код Javascript посредствомid, который заставляет каждый div с классом messagediv появляться.Я хочу, чтобы текст из <div class="title">Title:</div> на внешней странице был загружен в <div class="messagediv">Text from title</div>.Имейте в виду, что будет несколько статей, и я хочу показать каждый заголовок.Спасибо за помощь, спасибо.

Ответы [ 2 ]

1 голос
/ 29 января 2012

Попробуйте это решение.Используйте запрос ajax в тикере, чтобы получить внешнюю страницу в качестве текста ответа, а затем проанализируйте ответ, чтобы найти заголовок, и затем вы можете загрузить его в тикере.

Надеюсь, это поможет вам.

0 голосов
/ 29 января 2012
function getFile(fileName, method, callback) {
    // you can also add xdomain request
    var request = new XMLHttpRequest();
    request.open(method, fileName, true);
    request.onreadystatechange = function() {
        if (request.readyState === 4) {
            if (request.status === 200) {
                callback(request.responseText);
            }
        }
    }
    request.send();
}

function setTitle(response) {
    var result = response.match(/(<div class="title">(.*?)<\/div>)+/ig);
    var target = document.getElementsByClassName('messagediv');
    for (var i = 0; i < target.length; i++) {
        target[i].innerHTML = result[0];
    }
}

getFile('testpage.html', 'get', setTitle);
...