Skip to content

Instantly share code, notes, and snippets.

@bathtimefish
Last active August 29, 2015 14:04
Show Gist options
  • Select an option

  • Save bathtimefish/27a971fe8066516e0776 to your computer and use it in GitHub Desktop.

Select an option

Save bathtimefish/27a971fe8066516e0776 to your computer and use it in GitHub Desktop.
Google Ajax Feed APIを使ったFeed readerのサンプル
<!doctype html>
<html class="no-js">
<head>
<meta charset="utf-8">
<title>feedReader Demo</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="shortcut icon" href="/favicon.ico">
<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
<!-- build:css(.) styles/vendor.css -->
<!-- bower:css -->
<!-- endbower -->
<!-- endbuild -->
<!-- build:css(.tmp) styles/main.css -->
<link rel="stylesheet" href="styles/main.css">
<!-- endbuild -->
</head>
<body>
<!--[if lt IE 10]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<div class="container">
<div class="header">
<ul class="nav nav-pills pull-right">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
<h3 class="text-muted">feedReader Demo</h3>
</div>
<div id="content" class="feed"></div>
<div id="event" class="feed"></div>
<div id="report" class="feed"></div>
</div>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<!-- build:js({app,.tmp}) scripts/main.js -->
<script src="scripts/rss_main.js"></script>
<script src="scripts/rss_event.js"></script>
<script src="scripts/rss_report.js"></script>
<!-- endbuild -->
<script>
</script>
</body>
</html>
(function () {
var OPTIONS = {
"targetId": "event",
"feedUrl": "http://www.thetottori.com/wp/event/feed/"
}
google.load("feeds", "1");
// Our callback function, for when a feed is loaded.
var feedLoaded = function (result) {
if (!result.error) {
// Grab the container we will put the results into
var container = document.getElementById(OPTIONS.targetId);
container.innerHTML = '';
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("div");
var a = document.createElement("a");
a.setAttribute("href", entry.link);
a.appendChild(document.createTextNode(entry.title));
div.appendChild(a);
container.appendChild(div);
var dateDiv = document.createElement("div");
var formatedDate = _formatDate(entry.publishedDate);
dateDiv.appendChild(document.createTextNode(formatedDate));
container.appendChild(dateDiv);
}
}
};
var _formatDate = function(dateText) {
if(!dateText) return "0000, 00, 00, 00:00";
try {
var objDate = new Date(dateText);
var year = objDate.getFullYear();
var month = objDate.getMonth()+1;
var date = objDate.getDate();
var hours = objDate.getHours();
var minites = objDate.getMinutes();
return year+", "+month+", "+date+", "+hours+":"+minites;
} catch (e) {
return "0000, 00, 00, 00:00";
}
};
var FeedReader = function () {
var feed = new google.feeds.Feed(OPTIONS.feedUrl);
feed.load(feedLoaded);
};
google.setOnLoadCallback(FeedReader);
})();
(function () {
var OPTIONS = {
"targetId": "content",
"feedUrl": "http://www.thetottori.com/wp/feed/"
}
google.load("feeds", "1");
// Our callback function, for when a feed is loaded.
var feedLoaded = function (result) {
if (!result.error) {
// Grab the container we will put the results into
var container = document.getElementById(OPTIONS.targetId);
container.innerHTML = '';
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("div");
var a = document.createElement("a");
a.setAttribute("href", entry.link);
a.appendChild(document.createTextNode(entry.title));
div.appendChild(a);
container.appendChild(div);
var dateDiv = document.createElement("div");
var formatedDate = _formatDate(entry.publishedDate);
dateDiv.appendChild(document.createTextNode(formatedDate));
container.appendChild(dateDiv);
}
}
};
var _formatDate = function(dateText) {
if(!dateText) return "0000, 00, 00, 00:00";
try {
var objDate = new Date(dateText);
var year = objDate.getFullYear();
var month = objDate.getMonth()+1;
var date = objDate.getDate();
var hours = objDate.getHours();
var minites = objDate.getMinutes();
return year+", "+month+", "+date+", "+hours+":"+minites;
} catch (e) {
return "0000, 00, 00, 00:00";
}
};
var FeedReader = function () {
var feed = new google.feeds.Feed(OPTIONS.feedUrl);
feed.load(feedLoaded);
};
google.setOnLoadCallback(FeedReader);
})();
(function () {
var OPTIONS = {
"targetId": "report",
"feedUrl": "http://www.thetottori.com/wp/report/feed/"
}
google.load("feeds", "1");
// Our callback function, for when a feed is loaded.
var feedLoaded = function (result) {
if (!result.error) {
// Grab the container we will put the results into
var container = document.getElementById(OPTIONS.targetId);
container.innerHTML = '';
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("div");
var a = document.createElement("a");
a.setAttribute("href", entry.link);
a.appendChild(document.createTextNode(entry.title));
div.appendChild(a);
container.appendChild(div);
var dateDiv = document.createElement("div");
var formatedDate = _formatDate(entry.publishedDate);
dateDiv.appendChild(document.createTextNode(formatedDate));
container.appendChild(dateDiv);
}
}
};
var _formatDate = function(dateText) {
if(!dateText) return "0000, 00, 00, 00:00";
try {
var objDate = new Date(dateText);
var year = objDate.getFullYear();
var month = objDate.getMonth()+1;
var date = objDate.getDate();
var hours = objDate.getHours();
var minites = objDate.getMinutes();
return year+", "+month+", "+date+", "+hours+":"+minites;
} catch (e) {
return "0000, 00, 00, 00:00";
}
};
var FeedReader = function () {
var feed = new google.feeds.Feed(OPTIONS.feedUrl);
feed.load(feedLoaded);
};
google.setOnLoadCallback(FeedReader);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment