Bu vekil komut dosyası üzerinden bir rss feed kapmak ve sonra benim biçembente bir link ile birlikte yemden son 5 rss öğeleri dışarı tükürür benim Javascript fonksiyonu:
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;
} }
İşte proxy.php gelen kodu:
$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
Şimdi benim sitesi hiçbir yükleri değil herhangi bir etki bu yüklemeye çalıştığınızda. Ben hiçbir JS hataları almak, ancak Konsol sekmesinde Kundakçı I "407 Proxy Authentication Required" olsun
Yani bu işi yapmak için nasıl gerçekten emin değilim.
Amaç, RSS beslemesi kapmak başlıkları ve linkleri kapmak için bunu ayrıştırmak ve web üzerinde herhangi bir web sitesinde bazı HTML içine tükürmek muktedir olmaktır. Sitemin çeşitli RSS beslemeleri için ben "temelde basit bir RSS Widget yapıyorum.
My Javascript is wack
Gerçekten JavaScript ile bir acemi değilim. Ben oldukça iyi jQuery biliyorum, ama bu senaryo herhangi bir sitede gömülmüş olacak ve ben gerçekten jQuery kütüphanesinin güvenemezsiniz, çünkü bu durumda kullanmak mümkün değildi. Yani mevcut varsayılan XML ayrıştırma seçenekleri dayanarak bazı temel JavaScript yazmaya karar verdim. Burada herhangi bir öneri serin olurdu. Teşekkürler!
What's with the x and y vars
Onlar yol Sitem RSS beslemeleri oluşturur ilk başlık aslında RSS beslemesi başlığını olmasıdır. Ikinci başlık ilk öğenin başlık. Ilk bağlantı ilk öğeye bağlantıdır. Başlık almak için javascript kullanarak Yani, ilk ikinci başlığı ile ilk başlık (RSS başlık olan) yakala ve sonra başlamak zorunda öğenin ilk başlık olarak. Karışıklık için özür dilerim, ama bu benim konuyla ilgili sanmıyorum. Sadece benim kod açıklamak istedim.