我的网页包含一些随机网站的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');
}
答案 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
它会帮助你