Получить изображения из rss на другом домене (затем добавить его) - PullRequest
1 голос
/ 18 ноября 2010

Я хочу получить изображения с flickr rss, но этот код их не получит.Это то, с чем я столкнулся после некоторой помощи от моего первоначального запроса: Jquery в Internet Explorer: проблема с изображением (работает в FF и Chrome)

Проблема заключается в получении данных вправильный формат для моей веб-страницы.URL моей страницы: zalastax.co.cc/pictures.html

Javascript:

$.ajax({
    type: "GET",
    url: "js/getflickreasy.php",
    dataType: "xml",
    success: function(data) {
        $(data).find("item").each(function() {

            var item = $(this), title, description, thumbnail;

            title = item.find("title").text();
            description = item.find("description").text();
            thumbnail = item.find("img").attr("src");
        });
    }
});

PHP:

<?
header("content-type: text/xml");
readfile("http://api.flickr.com/services/feeds/photos_public.gne?id=42980910@N02&lang=en-us&format=xml");
?>

Редактировать: Код Мэтьюса работает.
Но у меня проблема с добавлением некоторых данных.

    var currentImage = 0;
//get flicker images from rss.
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=42980910@N02&lang=en-us&format=json&jsoncallback=?", function(data) {
    $(data.items).each(function() {
        var item = this,
            title, description, thumbnail;
        title = item.title;
        description = item.description;
        thumbnail = item.media.m;
        if (currentImage % 3 === 0) {
            $("#apa").append("<p>HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH</p>");
        }
        currentImage++;
        $("#apa").append("<div id=\"div" + currentImage + "\" class=\"imageContainer pictDiv\"><img id=\"img" + currentImage + "\" class=\"bild pictImg\" src=\"" + thumbnail + "\" /></div>");
        $("#bakgrund").append("<img id=\"bkg" + currentImage + "\" class=\"bgrund pictBkg\" src=\"Bilder/polaroid.png\" />");
    });

    $("#bakgrund").append("<img id=\"bkg" + currentImage + "\" class=\"bgrund pictBkg\" src=\"Bilder/polaroid.png\" />");
});

Этот код работает в Google Chrome.В Firefox он извлекает данные, но не добавляет их.Если я попытаюсь добавить что-то еще, например простой текст, Firefox также не добавит это.

Это работает, когда я пытаюсь сделать это через jsfiddle.net, но не работает, когда я пытаюсь сделать это через мою собственную веб-страницу.

Ответы [ 2 ]

1 голос
/ 18 ноября 2010

Вы можете сделать это без PHP, используя JSONP:

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=42980910@N02&lang=en-us&format=json&jsoncallback=?", function(data) {
        $(data.items).each(function() {
            var item = this, title, description, thumbnail;
            title = item.title;
            description = item.description;;
            thumbnail = item.media.m;
        });
    });

Я сделал jsFiddle Демо .

0 голосов
/ 18 ноября 2010

http://simplehtmldom.sourceforge.net/

Простой способ получить сайт и простой интерфейс для загрузки определенных данных:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...