Это моя функция Javascript, который захватывает канал RSS через прокси-скрипт, а затем выплевывает 5 последние пункты RSS из канала вместе со ссылкой на мою таблицу стилей:Проблемы прокси с Javascript Междоменного RSS потоком PARSING
function getWidget (feed,limit) { if (window.XMLHttpRequest) {
xhttp=new XMLHttpRequest()
} else {
xhttp=new ActiveXObject("Microsoft.XMLHTTP")
}
xhttp.open("GET","http://MYSITE/proxy.php?url="+feed,false);
xhttp.send("");
xmlDoc=xhttp.responseXML;
var x = 1;
var div = document.getElementById("div");
div.innerHTML = '<link type="text/css" href="http://MYSITE/css/widget.css" rel="stylesheet" /><div id="rss-title"></div></h3><div id="items"></div><br /><br /><a href="http://MYSITE">Powered by MYSITE</a>';
document.body.appendChild(div);
content=xmlDoc.getElementsByTagName("title");
thelink=xmlDoc.getElementsByTagName("link");
document.getElementByTagName("rss-title").innerHTML += content[0].childNodes[0].nodeValue;
for (x=1;x<=limit;srx++) {
y=x;
y--;
var theitem = '<div class="item"><a href="'+thelink[y].childNodes[0].nodeValue+'">'+content[x].childNodes[0].nodeValue+'</a></div>';
document.getElementById("items").innerHTML += theitem;
} }
Вот код из proxy.php:
$session = curl_init($_GET['url']); // Open the Curl session
curl_setopt($session, CURLOPT_HEADER, false); // Don't return HTTP headers
curl_setopt($session, CURLOPT_RETURNTRANSFER, true); // Do return the contents of the call
$xml = curl_exec($session); // Make the call
header("Content-Type: text/xml"); // Set the content type appropriately
echo $xml; // Spit out the xml
curl_close($session); // And close the session
Теперь, когда я пытаюсь загрузить это на любом домене, что это не мой сайт ничего не нагрузки. Я не получаю ошибок JS, но я на вкладке «Консоль» в firebug получает «407 Proxy Authentication Required»
Так что я не уверен, как это сделать.
Цель состоит в том, чтобы иметь возможность захватить RSS-канал, проанализировать его, чтобы захватить заголовки и ссылки и выплевывать их в какой-то HTML на любом веб-сайте в Интернете. Я "м в основном делаю простой RSS виджет для различных RSS моего сайта каналов.
My Javascript является ненормальным
Я действительно новичок в JavaScript. Я знаю, JQuery довольно хорошо, но я не был способный использовать его в этом случае, потому что этот скрипт будет внедрен на любой сайт, и я не могу положиться на библиотеку jQuery. Поэтому я решил написать некоторый базовый Javascript, основанный на доступных вариантах синтаксического анализа XML.
Что такое x и y vars
Они, как мой сайт, создают RSS-каналы, так это то, что первый заголовок на самом деле является заголовком RSS-канала. Второй заголовок - это заголовок первого элемента. Первая ссылка - это ссылка на первый элемент. Поэтому, когда я использую javascript для получения заголовка, мне нужно сначала захватить первый заголовок (который является заголовком RSS), а затем начать со второго заголовка, который является первым заголовком элемента. Извините за путаницу, но я не думаю, что это связано с моей проблемой. Просто хотел уточнить мой код.
Спасибо. Я пробую это, но как именно я разбираю его, чтобы захватить название и ссылку на каждый элемент? – Amir
Nevermind Я понял это. Большое спасибо! – Amir
Извините, я, вероятно, должен был предоставить лучший пример того, как что-то сделать с объектом данных. Обновлено. –