jQuery - 将外部网页从动态RSS提要链接加载到div中

时间:2012-12-10 12:15:36

标签: javascript jquery ajax rss loading

我的网页包含一些随机网站的RSS源。

这些Feed中有链接可将您带到这些网站。无论如何将这些网页加载到我页面上的div中?

我遇到的问题是,当我创建RSS源时,这些RSS链接是动态创建的。

任何人都有任何建议吗?

function showLTab(key)
{
    var myObject = science[key];
    var stage = $("#leftFeed").children('#tabContent');

    //forming the query
    //LIMT controls amount of tabs displayed in each feed
    var query = "select * from feed where url='"+myObject.feed+"' LIMIT 5";


    //changing URL to YQL
    var url = "http://query.yahooapis.com/v1/public/yql?q="+encodeURIComponent(query)+"&format=json&callback=?";

    $.getJSON(url,function(data){

        //removes any previous feeds
        stage.empty();

        //item exists in RSS
        $.each(data.query.results.item || data.query.results.entry,function(){
                stage.append(myObject['function'](this));
        })
    });

    $("#leftFeed").children('#activeTab').text(key);
}


function showLeftDropDown()
{
    var activeTab = $("#leftFeed").children('#activeTab');
    //creating drop down div
    var dropDown = $('<div>').addClass('dropDownList').css({'top': 10, 'width': activeTab.width()}).hide().appendTo('#leftFeed');

    $.each(science,function(i){
        // populates dropdown div
        if(i==activeTab.text()) return true;
            $('<div>').text(i).appendTo(dropDown);
    })
    dropDown.slideDown('fast');
}

2 个答案:

答案 0 :(得分:0)

如果你知道你感兴趣的网页的URL(也就是说,这个问题是关于页面的显示而不是链接的检索),只是想把结果吐出到一个容器中,比如一个div,你可以这样做:

$("#myDiv").load("page url");

这会将Ajax请求传递给给定的url,并将内容加载到所选元素中。有关详细信息,请参阅http://api.jquery.com/load/

另一种选择是使用iframes。您可以创建iframe,然后使用JavaScript将src属性设置为您感兴趣的网址:

document.getElementById("myIframe").src = "page url";

好的,所以如果您不知道URL但是有可以解析的Feed,请尝试使用正则表达式。鉴于链接看起来像这样:

<link>http://www.someexamplerssdomain.com/main.html</link>

您可以使用此代码将它们全部解析为数组:

var regex = /<link>(.*?)<\/link>/gi;
var matches = new Array();

var match = regex.exec(rssInput);
while (match != null) {
    matches.push(match[1]);
    match = regex.exec(rssInput);
}

然后,您可以使用我最初建议的两种方法之一来检索其内容。

答案 1 :(得分:0)

使用这个jquery https://github.com/sdepold/jquery-rss

它会帮助你