Gå til innhold

Korleis lese RSS feeds frå VG, ITAvisen?


Anbefalte innlegg

Eg har problemer med å lese desse PHP baserte RSS filene, når eg henter dei så får eg bare opp permission denied på request.open("GET", url, true);

Tar eg høyreklikk og kopierer source til ein eigen XML fil så går det kjempefint.

 

var request = null;

try {
 request = new XMLHttpRequest();
} catch (trymicrosoft) {
 try {
   request = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (othermicrosoft) {
   try {
     request = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (failed) {
     request = null;
   }
 }
}
if (request == null)
alert("Error creating request object!");

function get_xml_file ()
{
var url = "http://localhost:8080/itavle/rss.xml";
//Precondition: must have *url*
if (url == "") return;
request.open("GET", url, true);

request.onreadystatechange = updatePage;

var content = document.getElementById("footer");
content.innerHTML = "Retrieving XML...<br>";
request.send(null);
}
function updatePage() {
if (request.readyState == 4)
{
 var content = document.getElementById("footer");
 content.innerHTML = "Parsing XML...<br>";

 last_xml_response = request.responseXML;
 format_rss_data("footer", last_xml_response);
}
}
function format_rss_data(divname, response)
{
var html ="";
var doc = response.documentElement;
var items = doc.getElementsByTagName('item');

for (var i=0; i < items.length; i++)
{
 var title = items[i].getElementsByTagName('title')[0];
 var link = items[i].getElementsByTagName('link')[0];
 var desc = items[i].getElementsByTagName('description')[0];

 html  += "<b><a href='"
   	+ link.firstChild.data
   	+ "'>"
   	+	title.firstChild.data
   	+	"</a></b><br>"
   	+ "<font size -1>"
   	+ desc.firstChild.data
   	+ "</font><p>";
}

var target_div = document.getElementById(divname);
target_div.innerHTML = html;
}

Lenke til kommentar
Videoannonse
Annonse

Safety sucks:

If the page with the XMLHttpRequest is on a http:// URI (on a webserver), it is not possible to fetch data from another domain! This is a security measure of Mozilla/Firefox.

http://www.captain.at/howto-ajax-permissio...httprequest.php

 

Det ser ikke ut som om du kan bruke XMLHTTP-crossdomain i verken FF eller IE.

 

Du kan antagelig løse dette ved å bruke et indomain serverside script som bare videresender rss'feed-en fra sida du vil se på, siden du da faktisk ikke henter data fra en annen server - iallefall ikke med klienten.

Endret av Kagee
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...