2007年12月11日 のアーカイブ

ブログ更新できない言い訳ジェネレータ作ったよ!

ブログ更新できない言い訳ジェネレータ作ったよ!をはてなブックマークに追加 ブログ更新できない言い訳ジェネレータ作ったよ!をdel.icio.usに追加 Yahoo!ブックマークに登録 ブログ更新できない言い訳ジェネレータ作ったよ!をGoogle Bookmarksに追加 ブログ更新できない言い訳ジェネレータ作ったよ!をtwitterにポスト
2007年12月11日 火曜日

ホームページを作る人のネタ帳さんのブロガーなら必ず一度はするであろう『更新のいいわけ』について今更考えるが面白かったので『ブログ更新できない言い訳ジェネレータ』を作りました!暇なんですねとか言わないでください。あはは。というか200エントリー目の内容がコレかよ。

これで更新できない言い訳もネタにできるよ!
ちなみにジェネレートされた文章が支離滅裂だったりすることを見なかったことにしていただけるとワタシの心の平安がジェネレートされます(ちっとも面白くない)
ちなみにこのジェネレータ、カスタマイズが簡単なので、スクリプトなども公開してみます。好きなようにいじってみてはいかがでしょうか。そのうち簡単な説明を加えたエントリをポストします。
※配置などはご自身の環境に合わせてください。
ダウンロード
<スクリプトはこちら>

function crtXMLHttpReq(){
var xmlHttpInst = null;
try{
xmlHttpInst = new XMLHttpRequest();
}
catch( e ){
try{
xmlHttpInst = new ActiveXObject( "Msxml2.XMLHTTP" );
}
catch( e ){
try{
xmlHttpInst = new ActiveXObject( "Microsoft.XMLHTTP" );
}
catch( e ){
return null;
}
}
}
return xmlHttpInst;
}
function setField( param )
{
var selectList = document.selectForm.selectbtn;
var value;
for( idx = 0; idx < selectList.length; idx++ ){
if( selectList[ idx ].checked ){
value = selectList[ idx ].value;
break;
}
}
var renderItem = "";
var xHttpInst  = crtXMLHttpReq();
if ( xHttpInst ){
// your place
var sendUrl = 'http://***/answer.xml';
xHttpInst.onreadystatechange = function(){
if ( xHttpInst.readyState == 4 ){
var xmlData = xHttpInst.responseXML;
var formList = xmlData.getElementsByTagName( "field" );
var itemList = formList[ param ].getElementsByTagName( "description" );
renderItem = itemList[ value ].childNodes[ 0 ].nodeValue;
}
}
xHttpInst.open( "GET", sendUrl, false );
xHttpInst.send( null );
$( "setField" ).innerHTML = $( "setField" ).innerHTML + '<br /><br />' + renderItem;
}
}
function getForm( param )
{
// if start
if( param == 0  ){
$( "setField" ).innerHTML = '';
}
// if end
else if( param >= 4 ){
$( "curform" ).innerHTML = '<table><tr><td>' + 'できた(゚∀゚)!' +
'</td></tr><tr><td align="left"><input type="button" value="もう1回言い訳してみる(゚3゚)" onclick="getForm( 0 )" /></td></tr></table></form>';
return;
}
var renderItem = "";
var xHttpInst  = crtXMLHttpReq();
if ( xHttpInst ){
// your place
var sendUrl = 'http://***/question.xml';
xHttpInst.onreadystatechange = function(){
if ( xHttpInst.readyState == 4 ){
var xmlData = xHttpInst.responseXML;
var formList = xmlData.getElementsByTagName( "form" );
var titleVal = formList[ param ].getElementsByTagName( "title" )[ 0 ].childNodes[ 0 ].nodeValue;
var itemList = formList[ param ].getElementsByTagName( "description" );
var itemLen = itemList.length;
for( idx = 0; idx < itemLen; idx++ ){
renderItem = renderItem +
'<tr><td><input type="radio" name="selectbtn" value="' + idx + '" ' +
( ( idx == 0 ) ? 'checked="checked"' : '' ) +
'/>' + itemList[ idx ].childNodes[ 0 ].nodeValue + '</td></tr>'
}
renderItem = '<b>Q' + ( param + 1 ) + '.' + titleVal + '</b><br /><table>'+ renderItem + '</table>';
}
}
xHttpInst.open( "GET", sendUrl, false );
xHttpInst.send( null );
$( "curform" ).innerHTML = '<form name="selectForm"><table><tr><td>' + renderItem +
'</td></tr><tr><td align="left"><input type="button" value=">次へ(ノ∀`)" ' +
'onclick="setField(' + param + ');getForm(' + ( param + 1 ) + ')"></td></tr></table></form>';
}
}
function $( param )
{
return document.getElementById( param );
}