PHP & JavaScript Room :: 設置サンプル

実行結果

設置サンプル

参照:tenki RSS - tenki.jpjFeed

▼tenki.jp βで提供されている地震、津波、火山情報のRSS(XMLファイル)を読み込んで表示します。

        設置サンプルのソース

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
           <head>
              <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
              <meta http-equiv="Content-Language" content="ja" />
              <meta http-equiv="Content-Script-Type" content="text/javascript" />
              <meta http-equiv="Content-Style-Type" content="text/css" />
              <meta http-equiv="imagetoolbar" content="no" />
              <title>設置サンプル</title>
              <link rel="stylesheet" type="text/css" href="/content/lib/global.css" />
              <!-- JS -->
              <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
              <script type="text/javascript" src="/content/lib/jquery/jfeed/jquery.jfeed.js"></script>
              <script type="text/javascript">
                 $(function(){
                    $.getFeed({
                       //今日の地震情報
                        url: "/content/lib/jquery/jfeed/proxy.php?url=http://tenki.jp/component/static_api/rss/earthquake/recent_entries_by_day.xml",
                        success:function(xml){
                           $("#jishin h2").html(xml.title);
                             if(xml.items.length<1){
                          $("#jishin ol").html("<li>情報がありません。</li>");
                             }else{
                              $("#jishin").append("powered by <a href='"+xml.image.link+"'>"+xml.image.title+"</a>");
                              $(xml.items).each(function(i, item){
                             var _link=item.link;
                             var _title=item.title;
                             var _desc=item.description;
                             var _pubdate=dateParse(item.updated);
                             $("#jishin ol").append("<li>■<span>"+_pubdate+"</span> <a href='"+_link+"'>"+_title+"</a> "+_desc+"</li>");
                              });
                          }
                        }
                    });
                    $.getFeed({
                       //津波情報
                        url: "/content/lib/jquery/jfeed/proxy.php?url=http://tenki.jp/component/static_api/rss/tsunami/entry.xml",
                        success:function(xml){
                           $("#tsunami h2").html(xml.title);
                             if(xml.items.length<1){
                          $("#tsunami ol").html("<li>情報がありません。</li>");
                             }else{
                              $("#tsunami").append("powered by <a href='"+xml.image.link+"'>"+xml.image.title+"</a>");
                              $(xml.items).each(function(i, item){
                             var _link=item.link;
                             var _title=item.title;
                             var _desc=item.description;
                             var _pubdate=dateParse(item.updated);
                             $("#tsunami ol").append("<li>■<span>"+_pubdate+"</span> <a href='"+_link+"'>"+_title+"</a><br>"+_desc+"</li>");
                              });
                          }
                        }
                    });
                    $.getFeed({
                       //全国の火山情報
                        url: "/content/lib/jquery/jfeed/proxy.php?url=http://tenki.jp/component/static_api/rss/volcano/recent_entries.xml",
                        success:function(xml){
                           $("#kazan h2").html(xml.title);
                             if(xml.items.length<1){
                          $("#kazan ol").html("<li>情報がありません。</li>");
                             }else{
                              $("#kazan").append("powered by <a href='"+xml.image.link+"'>"+xml.image.title+"</a>");
                              $(xml.items).each(function(i, item){
                             var _link=item.link;
                             var _title=item.title;
                             var _desc=item.description;
                             var _pubdate=dateParse(item.updated);
                             $("#kazan ol").append("<li>■<span>"+_pubdate+"</span> <a href='"+_link+"'>"+_title+"</a><br>"+_desc+"</li>");
                              });
                          }
                        }
                    });
                 });
                 /* 日付のフォーマット */
                 function dateParse(dateStr){
                    var dateObject=new Date(dateStr);
                    var y=dateObject.getFullYear(); // 年
                    var m=dateObject.getMonth()+1; // 月
                    var d=dateObject.getDate(); // 日
                 var hour = dateObject.getHours(); // 時 
                 var min  = dateObject.getMinutes(); // 分 
                    if (m < 10) { m ="0"+m; }
                    if (d < 10) { d ="0"+d; }
                    if (hour < 10) { hour ="0"+hour; }
                    if (min < 10) { min ="0"+min; }
                    return y+"年"+m+"月"+d+"日 "+hour+":"+min;
                 }
              </script>
              <style type="text/css">
                 .feed {
                    background-color:#fff;
                    margin:0; padding:15px;
                    border:2px solid #999;
                    width:600px; height:300px;
                    overflow:auto;
                 }
                 .feed_title {
                    background-color:#999;
                    padding:2px 10px;
                    color:#fff;
                    font-weight:bold;
                 }
                 ol {
                    list-style:none;
                    margin:0; padding:0;
                 }
                 li {
                    list-style:none;
                    margin:0 0 5px 0; padding:0;
                 }
               </style>
           <link rel="stylesheet" type="text/css" href="/common/css/example.css"></head>
           <body id='example3' class='example'><div class="ads" style="margin:32px auto;text-align:center;"></div><h1 class='h'><a href='/'>PHP &amp; JavaScript Room</a> :: 設置サンプル</h1>
        <h3 class='h'>実行結果</h3>
              <div id="wrap">
                 <h1>設置サンプル</h1>
                  <p>参照:<a href='http://tenki.jp/webservice/rss/'>tenki RSS - tenki.jp</a>、<a href='http://hovinne.com/articles/jfeed-jquery-rss-atom-feed-parser-plugin'>jFeed</a></p>
                 <p>▼tenki.jp βで提供されている地震、津波、火山情報のRSS(XMLファイル)を読み込んで表示します。</p>
        <!-- CODE -->
              <div id="jishin">
                 <h2></h2>
                 <ol></ol>
              </div>
              <div id="tsunami">
                 <h2></h2>
                 <ol></ol>
              </div>
              <div id="kazan">
                 <h2></h2>
                 <ol></ol>
              </div>
        <!-- CODE / -->
              </div>
           </body>
        </html>