
Google AJAX Feed APIで、ホームページにRSSを表示する際、デフォルトでは、取得した複数のRSSを
<div id="feed">...</div>
に出力することができますが、
それらを、「私のブログ」のRSSを[feed]に「つれづれ日記」を[feed2]に個別に出力するにはどうすればいいのでしょうか?
js内にあるfeedのIDを単純に書き換えても全体の表示する場所が変わるだけでした。
また、IDを変えた同じjsを設置したところ、片方がエラーになりました。
表示をどこでどう分岐すればいいのかわかりません。
下記のソースで、具体的には上のソースのどこにどういう風に記述するのかがわかりません。
いろいろ頑張ってはいるのですが、うまくいかず困ってます。
その辺のヒントをいただければありがたいのですが。
ソースは以下のとおりです。
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<script type="text/javascript" src="http://www.google.com/jsapi?key=........."></scr …
<script type="text/javascript">
<!--//
google.load("feeds", "1");
var entryArray = new Array();
var entryNum = 0;
function initialize() {
feedAdd("http://feedblog.ameba.jp/私のブログ........../rss20.xml", 1);
feedAdd("http://feedblog.ameba.jp/つれづれ日記........../rss20.xml", 2);//取得したサイトのRSSフィードを入力。足りない場合は適宜4,5,6....と増やす
}
function feedAdd(rssUrl, boolNum) {
var feed = new google.feeds.Feed(rssUrl);
feed.setNumEntries(2);//サイト1つあたりの取得するフィード数
feed.load(function(result) {
if (!result.error) {
for (var i = 0; i < result.feed.entries.length; i++) {
entryArray[entryNum] = result.feed.entries[i];
var date = new Date(result.feed.entries[i].publishedDate);
entryArray[entryNum].sortDate = ( date.getFullYear()*1000000 ) + ( (date.getMonth() + 1)*3600*32 ) + ( date.getDate()*3600 ) + ( date.getHours()*60 ) + date.getMinutes();
entryArray[entryNum].blogName = result.feed.title;
entryNum+=1;
}
}
if(boolNum==1){
feedOutput("feed", 10);//フィードの出力
}
});
}
function feedOutput(feedId, listNum){
var useFeed = "";
var useDate = "";
var container = document.getElementById(feedId);
entryArray = asort(entryArray, "sortDate");
if(listNum==10){//出力するリスト数
listNum = entryNum;
}
for (var i = 0; i < listNum; i++) {
var entry = entryArray[i];
var date = new Date(entry.publishedDate);
var y = date.getFullYear();
if (y < 10) {y = "0" + y;}
var m = date.getMonth() + 1;
if (m < 10) {m = "0" + m;}
var d = date.getDate();
if (d < 10) {d = "0" + d;}
var h = date.getHours();
if (h < 10) {h = "0" + h;}
var mn = date.getMinutes();
if (mn < 10) {mn = "0" + mn;}
var s = date.getSeconds();
if (s < 10) {s = "0" + s;}
if (entry.title.match(/.*PR:.*/mi) == null)
{
useDate = y + "年" + m + "月" + d + "日";
useFeed += '<div style="float:left;width:150px;margin:0px 0px 0px 5px">'+ y + "月" + m + "日" + d + " [" + h + ':' + mn + "]" +'</div><div style="float: left;width:220px;height:18px;overflow:hidden;"><a href="' + entry.link + '" target="_blank" title="' + entry.title + '【' + entry.blogName + '】">' + entry.title + '</a> <img src="http://b.hatena.ne.jp/entry/image/large/' + entry.link + '"></div><div style="float:left;width:100px;height:13px;overflow:hidden;max-width:8em;padding:1px 0px 0px 0px;margin:1px 0px 0px 0px">' +"(投稿) "+ entry.blogName + '</div>...<br><hr size="1"/>';
以下BODY内
「私の日記」の最新情報
<div id="feed"> </div>
「つれづれ日記」の最新情報
<div id="feed2"> </div>
以上、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
スクリプトが途中で切れているので、いい加減な想像でしかありませんが…
スクリプトの
if(boolNum==1){
feedOutput("feed", 10);//フィードの出力
}
の部分を
feedOutput("feed"+boolNum, 10);
にして、
HTMLの
<div id="feed"> </div>
を
<div id="feed1"> </div>
にしてみるとかでは?
boolNumのもともとの意味は違うはずと思いますけれど、とりあえずの処置として…
回答ありがとうございました。
結局、私の力の無さか、JSでの実現はあきらめました。
代わりに、phpを複数設置することにしました。
<?php
//URL設定
$rssdata = simplexml_load_file("http://***");
// 件数設定
$num_of_data = 3;
//初期化
$outdata = "";
for ($i=0; $i<$num_of_data; $i++){
$myEntry = $rssdata->channel->item[$i];
$rssDate = $myEntry->pubDate;
date_default_timezone_set('Asia/Tokyo');
$myDateGNU = strtotime($rssDate);
$myDate = date('Y/m/d',$myDateGNU);
$myTitle = $myEntry->title; //タイトル取得
$myLink = $myEntry->link; //リンクURL取得
//出力内容(CSSOK)
$outdata .= '<p class=""><div style="float:left;width:80px;margin:0px 0px 0px 5px;font-size:12px">'.$myDate.'</div><a href="' . $myLink . '">' . $myTitle . '</a></p>';
}
echo $outdata; //全部出力する
?>
こんな感じで。。。。
ご回答には感謝しております。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GASでチェックボックスを一括of...
-
スマホ上で、左右スワイプで次...
-
Cookieに保存されない
-
初心者です。gulpでコンパイル...
-
Adobe acrobat proでフォームを...
-
画面遷移を行わずに同一ページ...
-
変数宣言と初期値代入の場所に...
-
switch文のswitch(n)の部分を複...
-
jsでは、'で区切った部分を改行...
-
タグを教えてください。
-
ラジオボタンを複数選択したと...
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Outlookのアカウントがあるとメ...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
タグを教えてください。
-
jqueryのselect2で検索欄の文字...
-
jsonテキストデータの並び替え...
-
初心者です。gulpでコンパイル...
-
ラジオボタンを複数選択したと...
-
階層別の組織図の自動作成について
-
jQueryで同じクラス名のものを...
-
二次元配列を使って順位をだす...
-
読み込んだQRコードをフォーム...
-
画面遷移を行わずに同一ページ...
-
セレクトを全て選択されていな...
-
【Google Apps Script】「ライ...
-
Adobe acrobat proでフォームを...
-
二次元配列の全要素の全要素を...
-
【GAS】WEBアプリでハイパーリ...
-
GASでGoogleフォームの自動返信...
-
フォームが空欄の時にフォーム...
-
セレクトボックスで配列を呼び...
-
イラストレーター、縦中横のシ...
おすすめ情報