スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
新しい記事を書く事で広告が消せます。
てつたは今日も、心に移りゆくよしなしごとを、そこはかとなく書き付けます。
{ "data" : [ { "ymd" : 20170218, "mark" : "a", "url" : "album/", "text" : "「増毛の記憶~2016」ほかアルバム3点を公開しました。" }, { "ymd" : 20160522, "mark" : "o", "url" : "selfintro.html", "text" : "「管理人紹介」を更新しました。" }, { "ymd" : 20160604, "mark" : "o", "url" : "link.html", "text" : "リンク集を更新しました。" }, { "ymd" : 20160529, "mark" : "o", "url" : "selfintro.html", "text" : "「管理人紹介」を更新しました。" }, { "ymd" : 20160405, "mark" : "o", "url" : "selfintro.html", "text" : "「管理人紹介」を更新しました。" }, { "ymd" : 19001231, "mark" : "m", "url" : "", "text" : "JSONテストデータ3" }, { "ymd" : 19001101, "mark" : "s", "url" : "", "text" : "JSONテストデータ2-1" }, { "ymd" : 19001031, "mark" : "si", "url" : "", "text" : "JSONテストデータ2" }, { "ymd" : 19000101, "mark" : "b", "url" : "index.html", "text" : "JSONテストデータ1" } ], "markdef" : { "a" : "アルバム", "b" : "BVE", "s" : "駅", "m" : "動画・音", "si": "サイト", "o" : "その他" } }
// HTTP通信用、共通関数 function createXMLHttpRequest(cbFunc) { var XMLhttpObject = null; try{ XMLhttpObject = new XMLHttpRequest(); }catch(e){ try{ XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ return null; } } } if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc; //ファイルの読み込み完了時の動作 return XMLhttpObject; } // document.getElementById function $(tagId) { return document.getElementById(tagId); } function writeData(position, mode) //ファイル名、表示するID、動作モード { fName = 'updates/data.json' httpObj = createXMLHttpRequest(function(){displayData(position, mode)}); //クロージャにすると引数を収められる if (httpObj) { //リクエストのタイプを設定 httpObj.open("GET", fName, true); //キャッシュは読みに行かせない httpObj.setRequestHeader('Pragma', 'no-cache'); httpObj.setRequestHeader('Cache-Control', 'no-cache'); httpObj.setRequestHeader('If-Modified-Since', 'Sat, 01 Jan 2000 00:00:00 GMT'); //リクエストを送信 httpObj.send(); } } function displayData(position, mode) { if ((httpObj.readyState == 4) && (httpObj.status == 200)) //読み込み完了 { $(position).innerHTML = parseJSON(httpObj.responseText, mode); } } // JSONのデータを解析して表示 function parseJSON(jsData, mode) { var data = JSON.parse(jsData); var resultData = ""; for(var i=0; i<data.data.length; i++) { //データを変数に収める var ymd = data.data[i].ymd; // 日付 var mark = data.data[i].mark; // マーク記号 var url = data.data[i].url; // URL var text = data.data[i].text; // 情報内容 var hit = false; if(mode >= 1900){ //年指定モード if(Math.floor(ymd / 10000) == mode){ hit = true; } } else{ //表示数指定モード if(i < mode){ hit = true; } else{ break; } } if(hit){ var showymd = (("0" + Math.floor(ymd / 10000) % 100).slice(-2)) + '.' + Math.floor(ymd / 100) % 100 + '.' + ymd % 100; resultData += '<p><img src="m_' + mark + '.gif" width="50" height="15" alt="' + data.markdef[mark] + '" class="umark">' + showymd + ' '; //URL指定がないときはリンクを外す if(url != ""){ resultData += '<a href="' + url + '">'; } resultData += text; if(url != ""){ resultData += '</a>'; } resultData += '</p>'; } } return resultData; }
<script type="text/javascript" src="updates/updates.js"></script>
<div id = "jsondata"></div> <!-- JSON化 2017.2.18 --> <script type="text/javascript"> writeData('jsondata', 5) </script>
<div id="u_body2"> </div> <script type="text/javascript"> writeData('u_body2', 2017) </script>