別ページの新着RSSフィードをGoogle AJAX Feed APIで取得しトップページに新着タイトルを表示させタイトルに一定期間new表示をさせる
別ページの新着RSSフィードをGoogle AJAX Feed APIで取得しトップページに新着タイトルを表示させる。
そして、このタイトルに一定期間new表示させるスクリプトの覚書。
<body> <p> <h3>記事一覧</h3> <div id="container">Loading...</div> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("feeds","1"); google.setOnLoadCallback(function(){ (function(container,url){ var feed = new google.feeds.Feed(url); feed.setNumEntries(10); feed.setResultFormat(google.feeds.Feed.JSON_FORMAT); feed.load(function(result){ if(result.status.code=="200"){ while(container.hasChildNodes()) container.removeChild(container.firstChild); var ul = document.createElement("ul"); ul.style.listStyleType = 'none'; for(var i=0;i<result.feed.entries.length;i++){ var d = new Date(result.feed.entries[i].publishedDate); var today = new Date(); var li = document.createElement("li"); var a = document.createElement("a"); a.href = result.feed.entries[i].link; a.appendChild(document.createTextNode(result.feed.entries[i].title)); li.appendChild(a); li.appendChild(document.createTextNode( "("+ (d.getFullYear()-2000)+"/"+(d.getMonth()+1)+"/"+d.getDate()+")" )); var newspan= document.createElement("span"); newspan.appendChild(document.createTextNode(' New!')); newspan.style.color="red",newspan.style.fontWeight = "bold"; if((today.getTime()-d.getTime()) < 3*24*3600*1000) //←何日間表示したいか指定 li.appendChild(newspan); li.normalize(); ul.appendChild(li); } container.appendChild(ul); } }); })(document.getElementById("container"), "http://******.com/rss15.xml"); //←表示させるRSS }); </script> </p> </body>
今回の場合はul等をcssで管理しているのでその箇所は削除しています。
某サイトに質問して某氏が教えて下さいました。
有難うございました<(_ _)>